changes generate_board to take a board_size param