Cleanup describe
Add HashTable
Rework hash table using generics