added gameloop