complete GCM