improved effects and gameloop