Initial GCM support
#173 More changes for GCM