changed random generation completely to gsl