smooth function added, interpolation updated