Changed to use emplace_back instead of push_back