GCM example expanded (to be continued)