irefactored interpolator APi