       null
 
     down = ( x, y ) =>
+      [ x, y ] = @_.O.grid.nearest( [ x, y ], A )
       group = new Kinetic.Group()
       @_.layer.add( group )
       A = [ x, y ]

      null

    up = ( x, y, event ) =>
      B = [ x, y ]
      group?.destroy()
      group = null


    move = ( x, y, event ) =>
      if group?
        [ x, y ] = @_.O.grid.nearest( [ x, y ], A )
        if ! event.altKey
          B = [ x, y ]
        else
