added Catmull Rom interpolation