added GameState interface