Modified toHash & opCmp