readded the recursive gcd (useful when debugging with Jim earlier)