first: decompose conditional complete.