@author aniwey
      .-'-'-.
     '       '
    '  ^   ^  '
  .'           '.
 '    '-._.-'     '
'                 '
 '-._.-'`'`'-._.-'
