implement all the different animations