added gcm
added gcm requriements
fixed merge conflicts