Updated Game loop