try harder not to divide by zero