add gcd fun