client part of gcm