Animate text

TODO: should clean this up