now with xor