added xor operator