require gcm