task groups refactor, wip