add CX decomposition algorithm