added linear2 interpolation