hash table implemented