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