adding hash table functionality