diff --git a/ibm_vpd_utils.hpp b/ibm_vpd_utils.hpp
index ad3fbea..4ebda1e 100644
--- a/ibm_vpd_utils.hpp
+++ b/ibm_vpd_utils.hpp
@@ -4,8 +4,9 @@
 #include "store.hpp"
 #include "types.hpp"
 
-#include <iostream>
 #include <nlohmann/json.hpp>
+
+#include <iostream>
 #include <optional>
 #include <variant>
 
@@ -108,9 +109,9 @@
     try
     {
         auto bus = sdbusplus::bus::new_default();
-        auto properties =
-            bus.new_method_call(service.c_str(), object.c_str(),
-                                "org.freedesktop.DBus.Properties", "Get");
+        auto properties = bus.new_method_call(service.c_str(), object.c_str(),
+                                              "org.freedesktop.DBus.Properties",
+                                              "Get");
         properties.append(inf);
         properties.append(prop);
         auto result = bus.call(properties);
@@ -447,9 +448,9 @@
     try
     {
         auto bus = sdbusplus::bus::new_default();
-        auto method =
-            bus.new_method_call(service.c_str(), object.c_str(),
-                                "org.freedesktop.DBus.Properties", "Set");
+        auto method = bus.new_method_call(service.c_str(), object.c_str(),
+                                          "org.freedesktop.DBus.Properties",
+                                          "Set");
         method.append(interface);
         method.append(propertyName);
         method.append(propertyValue);
@@ -501,4 +502,4 @@
 std::string getDbusNameForThisKw(const std::string& keyword);
 
 } // namespace vpd
-} // namespace openpower
\ No newline at end of file
+} // namespace openpower
