introduced greatest common divisor