fixed rounding errors but intrduced major slow down due to infinitely increasing divisors