new hashtable implemenation