finish refactor game_world