Added initial code for GCM