fully implemeted GameBoard.java