Second implementation, unordered_map