# All Classes and Interfaces

Class
Description
AbsGameBoard
Class that implements the IGameBoard interface and contains an overridden implementation of `Object.toString()`.
BoardPosition
Keep track of an individual cell for a board.
ConnectXApp
This class is the entry point of our program and just loads the set up screen and controller
ConnectXController
The controller class will handle communication between our View and our Model (`IGameBoard`)
ConnectXView
This class is the view of our Extended Connect X our view has a message area, and a list of buttons the buttons will be arranged in a `ROWS_IN_BUTTON_PANEL x COLUMNS_IN_BUTTON_PANEL` Grid Players will use another set of buttons above the grid to select the column to place in All events will be passed to the controller
GameBoard
Class that represents an entire game board for the ExtendedConnectX game using an array.
GameBoardMem
Class that represents an entire game board for the ExtendedConnectX game using a more memory-efficient map instead of an array.
IGameBoard
Interface that contains methods for implementing an entire game board for the ExtendedConnectX game.
SetupController
This class is the controller for our setup screen.
SetupView
This class contains the code to create and layout the GUI for the setup screen.