added first-attempt game loop