improve interpolation