handle 64 bit cases too,
and unsigned divide
and signed divide