upgrade event structure with game loop