make deep copies on xor values to avoid corruption