finished porting GameInstance