added shell command, updates to caching mixin, tweaked user->groups relation