replace STL map with uthash