main game loop