refractoring , XOR test passed