refactored sobol