interpolation-based method