game_state refactor