[change] use unordered_map as hash map