Add GCM Function
Fix Conflict