interpolation and scanner