added cubic spline implementation and derivative