built on xor functionality