public void undoTurn() {
		Turn turn = game.getTurns().get(game.getRound() - 1);
		// iterate in reverse
		List<GameStateChange> gameStateChanges = turn.getGameStateChanges();
		ListIterator<GameStateChange> gameStateChangeIterator = gameStateChanges.listIterator(gameStateChanges.size());
		while (gameStateChangeIterator.hasPrevious()) {
			undoGameStateChange(gameStateChangeIterator.previous());
		}
		
		if (turn.isCheck()) {
			game.setCheck(false);
		}
		if (turn.isCheckmate()) {
			game.setCheckmate(false);
		}
		game.decrementRound();
		game.removeTurn();
	}