first version of interpolation