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