switch to returning iterators on emplace_back