switched gcd dispatch to concurrent