added position interpolation