Revert "Revert "Revert "add hashtable"""

This reverts commit 68303f61a3d34a459345038e59c0f9b813738164.