new 1D interpolation function