implement and test HashTable