input and interpolation implemented