cleanup, use a workgroup over channels