refine curve()