refactoring game_rules