Improvements. Using uthash for hash table.