added animation (needs improvement)