Working on GCM implementation, in separate branch..