added a bunch of the underlying stuff for multiple groups (active_group
function) doing it all TDD style, or something.