goddamn emplace doesn't work in gcc