implemented HashTable