adding BSpline()