changes to xor assignment

changes to preferredName/xor assignment per suggestions
looks good. but any reason for `==` over `===`?