add main game loop