interpolation prototype