refactor Groups