moved much of the animation code over to Rowan's