adding interpolation functional