Add division and modulo, sanitize interface, add a test suite