add gcd
add test