careful with divisioin by small numbers