finish implementing hashtable