added GA
fixed the lack of cancelAnimationFrame