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