add more hash function