//Main class and GUI public class Chess { private GameBoard board; //Remembers the initial click square for the user's move //Stack of GameBoard states for the move undo. //Stack of tuples (moves) so they can be displayed. public void start() { //Set up the initial board } //Reset to the intial game position. public void reset() { } //AI makes a move public void moveAI() { } //For the human moving public void mouseClick() { } //Undo button for the most recent move public void undo() { } }