subgroups (wip)