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