refactored interpolation and implemented easing functions + demo