fixed gcd breaks arguments