close to getting gcm to work