add xor_combine_engine, combine two engines with XOR