cleanup again. Using std::map<T,U>::emplace as much as possible.