First implementation, unordered_map