better separation of animation