refactored interpolators