Updated Game Loop