more on hash function