working on xor