updated 'linear_interp'