implemented extrapolation