refactored animation to suppress CPU usage creep