hash table implementation Part 2 - before clean up