new curve skeleton code