---+-+++-+-+--++-++-+++--------+-----+++--+-+--+-+-++---++