use mutable refs library
animation, kinda