diff --git a/src/persistent_json_storage.cpp b/src/persistent_json_storage.cpp
index 97326fe..fadc083 100644
--- a/src/persistent_json_storage.cpp
+++ b/src/persistent_json_storage.cpp
@@ -15,8 +15,8 @@
     {
         if (std::filesystem::is_symlink(currentPath))
         {
-            std::string warningStr = std::format("{} is a symlink",
-                                                 currentPath.string());
+            std::string warningStr =
+                std::format("{} is a symlink", currentPath.string());
             phosphor::logging::log<phosphor::logging::level::WARNING>(
                 warningStr.c_str());
             return true;
@@ -95,8 +95,8 @@
     return true;
 }
 
-std::optional<nlohmann::json>
-    PersistentJsonStorage::load(const FilePath& filePath) const
+std::optional<nlohmann::json> PersistentJsonStorage::load(
+    const FilePath& filePath) const
 {
     const auto path = join(directory, filePath);
     if (!std::filesystem::exists(path))
@@ -121,8 +121,8 @@
     return result;
 }
 
-std::vector<interfaces::JsonStorage::FilePath>
-    PersistentJsonStorage::list() const
+std::vector<interfaces::JsonStorage::FilePath> PersistentJsonStorage::list()
+    const
 {
     std::vector<interfaces::JsonStorage::FilePath> result;
     if (!std::filesystem::exists(directory))
@@ -143,9 +143,8 @@
     return result;
 }
 
-std::filesystem::path
-    PersistentJsonStorage::join(const std::filesystem::path& left,
-                                const std::filesystem::path& right)
+std::filesystem::path PersistentJsonStorage::join(
+    const std::filesystem::path& left, const std::filesystem::path& right)
 {
     return left / right;
 }
