added GameState enum