added start of general hash table library