added game_t to provide a single interface for functions