Revert "add hashtable"

This reverts commit 331b7805c90836c3237327e3340569746ef5469d.
Revert "Revert "add hashtable""

This reverts commit b1e216591014f2732515dcbffb1ab1b75298d1ac.