more approx alg.