refactored using a Game object with config and utils