Refactored design. Implemented UserGroup