refactor out GameBoard