refactored animations, now have their own classes