use emplace_back instead of push_back for creating the vector of values