Before implement GCM