GCM changes

partial