updated interpolation