added quadratic sieve