refactoring
animation improvement