A general purpose curve fitting program