gcm: re-design package interface
comment TODO
gcm: new error string