Added isMovePossible and an undo option to makeMove.