https://www.angelfire.com/ego2/tova/tova.gcd