reworked internals, groups is now a dict of dicts.  need to fix errors coming back from revoking and deleting groups