msvc does not like divide by zero