added curve.py for curve based operations