added hash table implemenation and test