modified the constructor to take other versions of curve creation