gcm works