re-implement divisor method in iterative style for lower distribution