Custom hashing, not yet correct for partial.