fixed & refactored animation