big refactoring of animation