avoid map emplace due to lack of gcc standards support