disjoint control works. has to be tuned and optimized (bottlenecks are known), but we're going with this