first cut of CircuitDecomposer