added caching to group and user/group listener + added tests