Use gcd-component
CAPS
Too much boilerplate