board validates moves, player.makeMove calls validMove