implemented generic xor