use emplace on map and sets