make easing optional
maybe make it undefined rather than infinite