introduced GCD