this is the supercool (not) univ version with no handling for division by 0
just for documentation purposes, i guess