Initial push of GCD algorithm