note on hash functions