fix transfer function to disallow control points from overlapping