added in the ability to add custom easing functions