diff --git a/user_mgr.cpp b/user_mgr.cpp
index 95fb421..7ee424d 100644
--- a/user_mgr.cpp
+++ b/user_mgr.cpp
@@ -44,6 +44,10 @@
 #include <fstream>
 #include <numeric>
 #include <regex>
+#include <span>
+#include <string>
+#include <string_view>
+#include <vector>
 
 namespace phosphor
 {
@@ -130,29 +134,18 @@
     return stdOutput;
 }
 
-static std::string getCSVFromVector(std::vector<std::string> vec)
+std::string getCSVFromVector(std::span<const std::string> vec)
 {
-    switch (vec.size())
+    if (vec.empty())
     {
-        case 0:
-        {
-            return "";
-        }
-        break;
-
-        case 1:
-        {
-            return std::string{vec[0]};
-        }
-        break;
-
-        default:
-        {
-            return std::accumulate(
-                std::next(vec.begin()), vec.end(), vec[0],
-                [](std::string a, std::string b) { return a + ',' + b; });
-        }
+        return "";
     }
+    return std::accumulate(std::next(vec.begin()), vec.end(), vec[0],
+                           [](std::string&& val, std::string_view element) {
+                               val += ',';
+                               val += element;
+                               return val;
+                           });
 }
 
 static bool removeStringFromCSV(std::string& csvStr, const std::string& delStr)
