new, based on the gsl library