adding gcm support