first round of animation implementation