make the animations better and more flexible