refactor animations (wip)