add makefile and hashtable data struct