moved all the "move" mechanics into the board