rewrite the animation system
various improvements