uses c++11 unoredered_map will better.