diff --git a/.clang-format b/.clang-format
index 4902840..625a0a0 100644
--- a/.clang-format
+++ b/.clang-format
@@ -5,7 +5,7 @@
 AlignAfterOpenBracket: Align
 AlignConsecutiveAssignments: false
 AlignConsecutiveDeclarations: false
-AlignEscapedNewlinesLeft: false
+AlignEscapedNewlines: Right
 AlignOperands:   true
 AlignTrailingComments: true
 AllowAllParametersOfDeclarationOnNextLine: true
@@ -14,10 +14,9 @@
 AllowShortFunctionsOnASingleLine: None
 AllowShortIfStatementsOnASingleLine: false
 AllowShortLoopsOnASingleLine: false
-AlwaysBreakAfterDefinitionReturnType: None
 AlwaysBreakAfterReturnType: None
 AlwaysBreakBeforeMultilineStrings: false
-AlwaysBreakTemplateDeclarations: true
+AlwaysBreakTemplateDeclarations: Yes
 BinPackArguments: true
 BinPackParameters: true
 BraceWrapping:
@@ -30,15 +29,22 @@
   AfterObjCDeclaration: true
   AfterStruct:     true
   AfterUnion:      true
+  AfterExternBlock: true
   BeforeCatch:     true
   BeforeElse:      true
   IndentBraces:    false
+  SplitEmptyFunction:   false
+  SplitEmptyRecord:     false
+  SplitEmptyNamespace:  false
 BreakBeforeBinaryOperators: None
 BreakBeforeBraces: Custom
 BreakBeforeTernaryOperators: true
 BreakConstructorInitializers: AfterColon
+BreakInheritanceList: AfterColon
+BreakStringLiterals: true
 ColumnLimit:     80
 CommentPragmas:  '^ IWYU pragma:'
+CompactNamespaces: false
 ConstructorInitializerAllOnOneLineOrOnePerLine: false
 ConstructorInitializerIndentWidth: 4
 ContinuationIndentWidth: 4
@@ -52,17 +58,21 @@
 IncludeBlocks: Regroup
 IncludeCategories:
   - Regex:           '^[<"](gtest|gmock)'
-    Priority:        5
+    Priority:        7
   - Regex:           '^"config.h"'
     Priority:        -1
-  - Regex:           '^".*\.hpp"'
+  - Regex:           '^".*\.h"'
     Priority:        1
-  - Regex:           '^<.*\.h>'
+  - Regex:           '^".*\.hpp"'
     Priority:        2
-  - Regex:           '^<.*'
+  - Regex:           '^<.*\.h>'
     Priority:        3
-  - Regex:           '.*'
+  - Regex:           '^<.*\.hpp>'
     Priority:        4
+  - Regex:           '^<.*'
+    Priority:        5
+  - Regex:           '.*'
+    Priority:        6
 IndentCaseLabels: true
 IndentWidth:     4
 IndentWrappedFunctionNames: true
@@ -84,8 +94,13 @@
 SortIncludes:    true
 SortUsingDeclarations: true
 SpaceAfterCStyleCast: false
+SpaceAfterTemplateKeyword: true
 SpaceBeforeAssignmentOperators: true
+SpaceBeforeCpp11BracedList: false
+SpaceBeforeCtorInitializerColon: true
+SpaceBeforeInheritanceColon: true
 SpaceBeforeParens: ControlStatements
+SpaceBeforeRangeBasedForLoopColon: true
 SpaceInEmptyParentheses: false
 SpacesBeforeTrailingComments: 1
 SpacesInAngles:  false
@@ -93,7 +108,7 @@
 SpacesInCStyleCastParentheses: false
 SpacesInParentheses: false
 SpacesInSquareBrackets: false
-Standard:        Cpp11
+Standard:        Latest
 TabWidth:        4
 UseTab:          Never
 ...
diff --git a/bios_utils.hpp b/bios_utils.hpp
index 8f9f8a9..5ee2187 100644
--- a/bios_utils.hpp
+++ b/bios_utils.hpp
@@ -1,12 +1,12 @@
 #pragma once
 
+#include "libpldm/bios_table.h"
+
 #include <cstring>
 #include <memory>
 #include <type_traits>
 #include <vector>
 
-#include "libpldm/bios_table.h"
-
 namespace pldm
 {
 namespace bios
@@ -27,8 +27,7 @@
      *  @brief Auxiliary struct to delimit a range
      */
     struct EndSentinel
-    {
-    };
+    {};
 
     /** @struct iterator
      *  @brief iterator owns the BIOS table
@@ -55,8 +54,7 @@
         explicit iterator(const void* data, size_t length) noexcept :
             iter(pldm_bios_table_iter_create(data, length, tableType),
                  pldm_bios_table_iter_free)
-        {
-        }
+        {}
 
         /** @brief Get the entry pointed by the iterator
          *
@@ -109,8 +107,7 @@
      */
     BIOSTableIter(const void* data, size_t length) noexcept :
         tableData(data), tableSize(length)
-    {
-    }
+    {}
 
     /** @brief Get the iterator to the beginning
      *
diff --git a/dbus_impl_pdr.cpp b/dbus_impl_pdr.cpp
index fb939e0..804a360 100644
--- a/dbus_impl_pdr.cpp
+++ b/dbus_impl_pdr.cpp
@@ -1,13 +1,13 @@
 #include "dbus_impl_pdr.hpp"
 
+#include "libpldm/pdr.h"
+#include "libpldm/pldm_types.h"
+
 #include "utils.hpp"
 #include "xyz/openbmc_project/Common/error.hpp"
 
 #include <iostream>
 
-#include "libpldm/pdr.h"
-#include "libpldm/pldm_types.h"
-
 using namespace sdbusplus::xyz::openbmc_project::Common::Error;
 
 namespace pldm
diff --git a/dbus_impl_pdr.hpp b/dbus_impl_pdr.hpp
index 5016bb3..bbc66dc 100644
--- a/dbus_impl_pdr.hpp
+++ b/dbus_impl_pdr.hpp
@@ -1,13 +1,14 @@
 #pragma once
 
+#include "libpldm/pdr.h"
+#include "libpldm/platform.h"
+
 #include "xyz/openbmc_project/PLDM/PDR/server.hpp"
 
 #include <sdbusplus/bus.hpp>
 #include <sdbusplus/server/object.hpp>
-#include <vector>
 
-#include "libpldm/pdr.h"
-#include "libpldm/platform.h"
+#include <vector>
 
 namespace pldm
 {
diff --git a/dbus_impl_requester.hpp b/dbus_impl_requester.hpp
index e892194..e5c08af 100644
--- a/dbus_impl_requester.hpp
+++ b/dbus_impl_requester.hpp
@@ -3,10 +3,11 @@
 #include "instance_id.hpp"
 #include "xyz/openbmc_project/PLDM/Requester/server.hpp"
 
-#include <map>
 #include <sdbusplus/bus.hpp>
 #include <sdbusplus/server/object.hpp>
 
+#include <map>
+
 namespace pldm
 {
 namespace dbus_api
diff --git a/handler.hpp b/handler.hpp
index 3906ec1..6884ee6 100644
--- a/handler.hpp
+++ b/handler.hpp
@@ -1,12 +1,12 @@
 #pragma once
 
+#include "libpldm/base.h"
+
 #include <cassert>
 #include <functional>
 #include <map>
 #include <vector>
 
-#include "libpldm/base.h"
-
 namespace pldm
 {
 
diff --git a/host_pdr_handler.cpp b/host_pdr_handler.cpp
index db845fc..3c8d54e 100644
--- a/host_pdr_handler.cpp
+++ b/host_pdr_handler.cpp
@@ -2,12 +2,13 @@
 
 #include "host_pdr_handler.hpp"
 
+#include "libpldm/requester/pldm.h"
+
 #include <assert.h>
 
-#include <fstream>
 #include <nlohmann/json.hpp>
 
-#include "libpldm/requester/pldm.h"
+#include <fstream>
 
 namespace pldm
 {
diff --git a/host_pdr_handler.hpp b/host_pdr_handler.hpp
index 83abe5f..5bfba72 100644
--- a/host_pdr_handler.hpp
+++ b/host_pdr_handler.hpp
@@ -1,18 +1,19 @@
 #pragma once
 
+#include "libpldm/base.h"
+#include "libpldm/platform.h"
+
 #include "dbus_impl_requester.hpp"
 #include "libpldmresponder/pdr_utils.hpp"
 #include "types.hpp"
 #include "utils.hpp"
 
-#include <map>
-#include <memory>
 #include <sdeventplus/event.hpp>
 #include <sdeventplus/source/event.hpp>
-#include <vector>
 
-#include "libpldm/base.h"
-#include "libpldm/platform.h"
+#include <map>
+#include <memory>
+#include <vector>
 
 using namespace pldm::dbus_api;
 
diff --git a/invoker.hpp b/invoker.hpp
index c885ee8..8972ed6 100644
--- a/invoker.hpp
+++ b/invoker.hpp
@@ -1,12 +1,12 @@
 #pragma once
 
+#include "libpldm/base.h"
+
 #include "handler.hpp"
 
 #include <map>
 #include <memory>
 
-#include "libpldm/base.h"
-
 namespace pldm
 {
 
diff --git a/libpldmresponder/base.cpp b/libpldmresponder/base.cpp
index f72e8dc..640fe65 100644
--- a/libpldmresponder/base.cpp
+++ b/libpldmresponder/base.cpp
@@ -1,5 +1,9 @@
 #include "libpldm/base.h"
 
+#include "libpldm/bios.h"
+#include "libpldm/fru.h"
+#include "libpldm/platform.h"
+
 #include "base.hpp"
 
 #include <array>
@@ -8,10 +12,6 @@
 #include <stdexcept>
 #include <vector>
 
-#include "libpldm/bios.h"
-#include "libpldm/fru.h"
-#include "libpldm/platform.h"
-
 #ifdef OEM_IBM
 #include "libpldm/file_io.h"
 #include "libpldm/host.h"
diff --git a/libpldmresponder/base.hpp b/libpldmresponder/base.hpp
index 519bff2..67cf9d9 100644
--- a/libpldmresponder/base.hpp
+++ b/libpldmresponder/base.hpp
@@ -1,13 +1,13 @@
 #pragma once
 
+#include "libpldm/base.h"
+
 #include "handler.hpp"
 
 #include <stdint.h>
 
 #include <vector>
 
-#include "libpldm/base.h"
-
 namespace pldm
 {
 namespace responder
diff --git a/libpldmresponder/bios.hpp b/libpldmresponder/bios.hpp
index be0d403..269d5a1 100644
--- a/libpldmresponder/bios.hpp
+++ b/libpldmresponder/bios.hpp
@@ -2,6 +2,9 @@
 
 #include "config.h"
 
+#include "libpldm/bios.h"
+#include "libpldm/bios_table.h"
+
 #include "bios_config.hpp"
 #include "bios_table.hpp"
 #include "handler.hpp"
@@ -13,9 +16,6 @@
 #include <map>
 #include <vector>
 
-#include "libpldm/bios.h"
-#include "libpldm/bios_table.h"
-
 namespace pldm
 {
 
diff --git a/libpldmresponder/bios_attribute.hpp b/libpldmresponder/bios_attribute.hpp
index 3f3ab4d..effc733 100644
--- a/libpldmresponder/bios_attribute.hpp
+++ b/libpldmresponder/bios_attribute.hpp
@@ -1,18 +1,19 @@
 #pragma once
 
+#include "bios_table.h"
+
 #include "bios_table.hpp"
 #include "utils.hpp"
 
+#include <nlohmann/json.hpp>
+
 #include <cstdint>
 #include <filesystem>
 #include <memory>
-#include <nlohmann/json.hpp>
 #include <optional>
 #include <string>
 #include <vector>
 
-#include "bios_table.h"
-
 namespace pldm
 {
 namespace responder
diff --git a/libpldmresponder/bios_config.hpp b/libpldmresponder/bios_config.hpp
index 98734ba..430798f 100644
--- a/libpldmresponder/bios_config.hpp
+++ b/libpldmresponder/bios_config.hpp
@@ -1,19 +1,20 @@
 #pragma once
 
+#include "bios_table.h"
+
 #include "bios_attribute.hpp"
 #include "bios_table.hpp"
 
+#include <nlohmann/json.hpp>
+
 #include <functional>
 #include <iostream>
 #include <memory>
-#include <nlohmann/json.hpp>
 #include <optional>
 #include <set>
 #include <string>
 #include <vector>
 
-#include "bios_table.h"
-
 namespace pldm
 {
 namespace responder
diff --git a/libpldmresponder/bios_table.cpp b/libpldmresponder/bios_table.cpp
index b8fa713..a618f52 100644
--- a/libpldmresponder/bios_table.cpp
+++ b/libpldmresponder/bios_table.cpp
@@ -1,9 +1,9 @@
 #include "bios_table.hpp"
 
-#include <fstream>
-
 #include "bios_table.h"
 
+#include <fstream>
+
 namespace pldm
 {
 
@@ -14,8 +14,7 @@
 {
 
 BIOSTable::BIOSTable(const char* filePath) : filePath(filePath)
-{
-}
+{}
 
 bool BIOSTable::isEmpty() const noexcept
 {
@@ -48,8 +47,7 @@
 
 BIOSStringTable::BIOSStringTable(const Table& stringTable) :
     stringTable(stringTable)
-{
-}
+{}
 
 BIOSStringTable::BIOSStringTable(const BIOSTable& biosTable)
 {
diff --git a/libpldmresponder/bios_table.hpp b/libpldmresponder/bios_table.hpp
index 52385e5..5d4b069 100644
--- a/libpldmresponder/bios_table.hpp
+++ b/libpldmresponder/bios_table.hpp
@@ -1,5 +1,8 @@
 #pragma once
 
+#include "libpldm/bios.h"
+#include "libpldm/bios_table.h"
+
 #include <stdint.h>
 
 #include <filesystem>
@@ -7,9 +10,6 @@
 #include <string>
 #include <vector>
 
-#include "libpldm/bios.h"
-#include "libpldm/bios_table.h"
-
 namespace pldm
 {
 
diff --git a/libpldmresponder/event_parser.cpp b/libpldmresponder/event_parser.cpp
index 0a0000c..894c0aa 100644
--- a/libpldmresponder/event_parser.cpp
+++ b/libpldmresponder/event_parser.cpp
@@ -1,10 +1,11 @@
 #include "event_parser.hpp"
 
+#include <xyz/openbmc_project/Common/error.hpp>
+
 #include <filesystem>
 #include <fstream>
 #include <iostream>
 #include <set>
-#include <xyz/openbmc_project/Common/error.hpp>
 
 namespace pldm::responder::events
 {
diff --git a/libpldmresponder/event_parser.hpp b/libpldmresponder/event_parser.hpp
index 1139c71..19004a7 100644
--- a/libpldmresponder/event_parser.hpp
+++ b/libpldmresponder/event_parser.hpp
@@ -3,9 +3,10 @@
 #include "types.hpp"
 #include "utils.hpp"
 
+#include <nlohmann/json.hpp>
+
 #include <filesystem>
 #include <map>
-#include <nlohmann/json.hpp>
 #include <string>
 #include <tuple>
 #include <vector>
diff --git a/libpldmresponder/fru.cpp b/libpldmresponder/fru.cpp
index 50e46d8..b3dc73b 100644
--- a/libpldmresponder/fru.cpp
+++ b/libpldmresponder/fru.cpp
@@ -1,14 +1,15 @@
 #include "fru.hpp"
 
+#include "libpldm/utils.h"
+
 #include "utils.hpp"
 
 #include <systemd/sd-journal.h>
 
-#include <iostream>
 #include <sdbusplus/bus.hpp>
-#include <set>
 
-#include "libpldm/utils.h"
+#include <iostream>
+#include <set>
 
 namespace pldm
 {
diff --git a/libpldmresponder/fru.hpp b/libpldmresponder/fru.hpp
index d4a647a..afa6b1c 100644
--- a/libpldmresponder/fru.hpp
+++ b/libpldmresponder/fru.hpp
@@ -2,18 +2,19 @@
 
 #include "config.h"
 
+#include "libpldm/fru.h"
+#include "libpldm/pdr.h"
+
 #include "fru_parser.hpp"
 #include "handler.hpp"
 
-#include <map>
 #include <sdbusplus/message.hpp>
+
+#include <map>
 #include <string>
 #include <variant>
 #include <vector>
 
-#include "libpldm/fru.h"
-#include "libpldm/pdr.h"
-
 namespace pldm
 {
 
diff --git a/libpldmresponder/fru_parser.cpp b/libpldmresponder/fru_parser.cpp
index 84d3898..a500a00 100644
--- a/libpldmresponder/fru_parser.cpp
+++ b/libpldmresponder/fru_parser.cpp
@@ -1,10 +1,11 @@
 #include "fru_parser.hpp"
 
+#include <nlohmann/json.hpp>
+#include <xyz/openbmc_project/Common/error.hpp>
+
 #include <filesystem>
 #include <fstream>
 #include <iostream>
-#include <nlohmann/json.hpp>
-#include <xyz/openbmc_project/Common/error.hpp>
 
 namespace pldm
 {
diff --git a/libpldmresponder/pdr_numeric_effecter.hpp b/libpldmresponder/pdr_numeric_effecter.hpp
index 63a4c26..1aa525b 100644
--- a/libpldmresponder/pdr_numeric_effecter.hpp
+++ b/libpldmresponder/pdr_numeric_effecter.hpp
@@ -1,9 +1,9 @@
 #pragma once
 
-#include "libpldmresponder/pdr_utils.hpp"
-
 #include "libpldm/platform.h"
 
+#include "libpldmresponder/pdr_utils.hpp"
+
 namespace pldm
 {
 
diff --git a/libpldmresponder/pdr_state_effecter.hpp b/libpldmresponder/pdr_state_effecter.hpp
index 25f3198..5b49a46 100644
--- a/libpldmresponder/pdr_state_effecter.hpp
+++ b/libpldmresponder/pdr_state_effecter.hpp
@@ -1,9 +1,9 @@
 #pragma once
 
-#include "libpldmresponder/pdr_utils.hpp"
-
 #include "libpldm/platform.h"
 
+#include "libpldmresponder/pdr_utils.hpp"
+
 namespace pldm
 {
 
diff --git a/libpldmresponder/pdr_utils.cpp b/libpldmresponder/pdr_utils.cpp
index 8819e67..0769ace 100644
--- a/libpldmresponder/pdr_utils.cpp
+++ b/libpldmresponder/pdr_utils.cpp
@@ -1,9 +1,9 @@
+#include "libpldm/platform.h"
+
 #include "pdr.hpp"
 
 #include <climits>
 
-#include "libpldm/platform.h"
-
 namespace pldm
 {
 
diff --git a/libpldmresponder/pdr_utils.hpp b/libpldmresponder/pdr_utils.hpp
index 8f4f825..e644534 100644
--- a/libpldmresponder/pdr_utils.hpp
+++ b/libpldmresponder/pdr_utils.hpp
@@ -1,19 +1,20 @@
 #pragma once
 
+#include "libpldm/pdr.h"
+
 #include "types.hpp"
 #include "utils.hpp"
 
 #include <stdint.h>
 
+#include <nlohmann/json.hpp>
+#include <xyz/openbmc_project/Common/error.hpp>
+
 #include <filesystem>
 #include <fstream>
 #include <functional>
 #include <iostream>
-#include <nlohmann/json.hpp>
 #include <string>
-#include <xyz/openbmc_project/Common/error.hpp>
-
-#include "libpldm/pdr.h"
 
 using InternalFailure =
     sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure;
@@ -101,8 +102,7 @@
 {
   public:
     RepoInterface(pldm_pdr* repo) : repo(repo)
-    {
-    }
+    {}
 
     virtual ~RepoInterface() = default;
 
@@ -177,8 +177,7 @@
 {
   public:
     Repo(pldm_pdr* repo) : RepoInterface(repo)
-    {
-    }
+    {}
 
     pldm_pdr* getPdr() const override;
 
diff --git a/libpldmresponder/platform.hpp b/libpldmresponder/platform.hpp
index a21502e..10d0b27 100644
--- a/libpldmresponder/platform.hpp
+++ b/libpldmresponder/platform.hpp
@@ -2,6 +2,9 @@
 
 #include "config.h"
 
+#include "libpldm/platform.h"
+#include "libpldm/states.h"
+
 #include "event_parser.hpp"
 #include "handler.hpp"
 #include "host_pdr_handler.hpp"
@@ -13,9 +16,6 @@
 
 #include <map>
 
-#include "libpldm/platform.h"
-#include "libpldm/states.h"
-
 namespace pldm
 {
 namespace responder
diff --git a/libpldmresponder/platform_numeric_effecter.hpp b/libpldmresponder/platform_numeric_effecter.hpp
index b5d8ef5..76c2267 100644
--- a/libpldmresponder/platform_numeric_effecter.hpp
+++ b/libpldmresponder/platform_numeric_effecter.hpp
@@ -2,6 +2,9 @@
 
 #include "config.h"
 
+#include "libpldm/platform.h"
+#include "libpldm/states.h"
+
 #include "handler.hpp"
 #include "libpldmresponder/pdr.hpp"
 #include "pdr_utils.hpp"
@@ -13,9 +16,6 @@
 #include <map>
 #include <optional>
 
-#include "libpldm/platform.h"
-#include "libpldm/states.h"
-
 using namespace pldm::responder::pdr;
 using namespace pldm::utils;
 
diff --git a/libpldmresponder/platform_state_effecter.hpp b/libpldmresponder/platform_state_effecter.hpp
index 7584a67..1f665be 100644
--- a/libpldmresponder/platform_state_effecter.hpp
+++ b/libpldmresponder/platform_state_effecter.hpp
@@ -2,6 +2,9 @@
 
 #include "config.h"
 
+#include "libpldm/platform.h"
+#include "libpldm/states.h"
+
 #include "handler.hpp"
 #include "libpldmresponder/pdr.hpp"
 #include "pdr_utils.hpp"
@@ -10,9 +13,6 @@
 #include <cstdint>
 #include <map>
 
-#include "libpldm/platform.h"
-#include "libpldm/states.h"
-
 using namespace pldm::responder::pdr;
 
 namespace pldm
diff --git a/oem/ibm/libpldmresponder/file_io.cpp b/oem/ibm/libpldmresponder/file_io.cpp
index 12e9fed..b05a525 100644
--- a/oem/ibm/libpldmresponder/file_io.cpp
+++ b/oem/ibm/libpldmresponder/file_io.cpp
@@ -2,6 +2,8 @@
 
 #include "file_io.hpp"
 
+#include "libpldm/base.h"
+
 #include "file_io_by_type.hpp"
 #include "file_table.hpp"
 #include "utils.hpp"
@@ -18,8 +20,6 @@
 #include <iostream>
 #include <memory>
 
-#include "libpldm/base.h"
-
 namespace pldm
 {
 
diff --git a/oem/ibm/libpldmresponder/file_io.hpp b/oem/ibm/libpldmresponder/file_io.hpp
index 9ff8f86..60fa9a1 100644
--- a/oem/ibm/libpldmresponder/file_io.hpp
+++ b/oem/ibm/libpldmresponder/file_io.hpp
@@ -2,6 +2,10 @@
 
 #include "config.h"
 
+#include "libpldm/base.h"
+#include "oem/ibm/libpldm/file_io.h"
+#include "oem/ibm/libpldm/host.h"
+
 #include "handler.hpp"
 #include "utils.hpp"
 
@@ -15,10 +19,6 @@
 #include <iostream>
 #include <vector>
 
-#include "libpldm/base.h"
-#include "oem/ibm/libpldm/file_io.h"
-#include "oem/ibm/libpldm/host.h"
-
 namespace pldm
 {
 namespace responder
diff --git a/oem/ibm/libpldmresponder/file_io_by_type.cpp b/oem/ibm/libpldmresponder/file_io_by_type.cpp
index 540937c..36f5f6c 100644
--- a/oem/ibm/libpldmresponder/file_io_by_type.cpp
+++ b/oem/ibm/libpldmresponder/file_io_by_type.cpp
@@ -2,6 +2,9 @@
 
 #include "file_io_by_type.hpp"
 
+#include "libpldm/base.h"
+#include "oem/ibm/libpldm/file_io.h"
+
 #include "file_io_type_cert.hpp"
 #include "file_io_type_dump.hpp"
 #include "file_io_type_lid.hpp"
@@ -12,15 +15,13 @@
 #include <stdint.h>
 #include <unistd.h>
 
+#include <xyz/openbmc_project/Logging/Entry/server.hpp>
+
 #include <exception>
 #include <filesystem>
 #include <fstream>
 #include <iostream>
 #include <vector>
-#include <xyz/openbmc_project/Logging/Entry/server.hpp>
-
-#include "libpldm/base.h"
-#include "oem/ibm/libpldm/file_io.h"
 
 namespace pldm
 {
diff --git a/oem/ibm/libpldmresponder/file_io_by_type.hpp b/oem/ibm/libpldmresponder/file_io_by_type.hpp
index 0a5c1d8..73f27d8 100644
--- a/oem/ibm/libpldmresponder/file_io_by_type.hpp
+++ b/oem/ibm/libpldmresponder/file_io_by_type.hpp
@@ -101,14 +101,12 @@
     /** @brief Constructor to create a FileHandler object
      */
     FileHandler(uint32_t fileHandle) : fileHandle(fileHandle)
-    {
-    }
+    {}
 
     /** FileHandler destructor
      */
     virtual ~FileHandler()
-    {
-    }
+    {}
 
   protected:
     uint32_t fileHandle; //!< file handle indicating name of file or invalid
diff --git a/oem/ibm/libpldmresponder/file_io_type_cert.cpp b/oem/ibm/libpldmresponder/file_io_type_cert.cpp
index aef3f4c..82aecbf 100644
--- a/oem/ibm/libpldmresponder/file_io_type_cert.cpp
+++ b/oem/ibm/libpldmresponder/file_io_type_cert.cpp
@@ -1,14 +1,14 @@
 #include "file_io_type_cert.hpp"
 
+#include "libpldm/base.h"
+#include "oem/ibm/libpldm/file_io.h"
+
 #include "utils.hpp"
 
 #include <stdint.h>
 
 #include <iostream>
 
-#include "libpldm/base.h"
-#include "oem/ibm/libpldm/file_io.h"
-
 namespace pldm
 {
 namespace responder
diff --git a/oem/ibm/libpldmresponder/file_io_type_cert.hpp b/oem/ibm/libpldmresponder/file_io_type_cert.hpp
index a981fab..a1c8d9f 100644
--- a/oem/ibm/libpldmresponder/file_io_type_cert.hpp
+++ b/oem/ibm/libpldmresponder/file_io_type_cert.hpp
@@ -27,8 +27,7 @@
      */
     CertHandler(uint32_t fileHandle, uint16_t fileType) :
         FileHandler(fileHandle), certType(fileType)
-    {
-    }
+    {}
 
     virtual int writeFromMemory(uint32_t offset, uint32_t length,
                                 uint64_t address);
@@ -48,8 +47,7 @@
     /** @brief CertHandler destructor
      */
     ~CertHandler()
-    {
-    }
+    {}
 
   private:
     uint16_t certType;      //!< type of the certificate
diff --git a/oem/ibm/libpldmresponder/file_io_type_dump.cpp b/oem/ibm/libpldmresponder/file_io_type_dump.cpp
index 8572259..188fc4a 100644
--- a/oem/ibm/libpldmresponder/file_io_type_dump.cpp
+++ b/oem/ibm/libpldmresponder/file_io_type_dump.cpp
@@ -1,5 +1,8 @@
 #include "file_io_type_dump.hpp"
 
+#include "libpldm/base.h"
+#include "oem/ibm/libpldm/file_io.h"
+
 #include "utils.hpp"
 #include "xyz/openbmc_project/Common/error.hpp"
 
@@ -7,14 +10,12 @@
 #include <systemd/sd-bus.h>
 #include <unistd.h>
 
-#include <exception>
-#include <filesystem>
-#include <iostream>
 #include <sdbusplus/server.hpp>
 #include <xyz/openbmc_project/Dump/NewDump/server.hpp>
 
-#include "libpldm/base.h"
-#include "oem/ibm/libpldm/file_io.h"
+#include <exception>
+#include <filesystem>
+#include <iostream>
 
 using namespace pldm::utils;
 
diff --git a/oem/ibm/libpldmresponder/file_io_type_dump.hpp b/oem/ibm/libpldmresponder/file_io_type_dump.hpp
index 79360d0..34b880f 100644
--- a/oem/ibm/libpldmresponder/file_io_type_dump.hpp
+++ b/oem/ibm/libpldmresponder/file_io_type_dump.hpp
@@ -18,8 +18,7 @@
     /** @brief DumpHandler constructor
      */
     DumpHandler(uint32_t fileHandle) : FileHandler(fileHandle)
-    {
-    }
+    {}
 
     virtual int writeFromMemory(uint32_t offset, uint32_t length,
                                 uint64_t address);
@@ -44,8 +43,7 @@
     /** @brief DumpHandler destructor
      */
     ~DumpHandler()
-    {
-    }
+    {}
 
   private:
     static int fd; //!< fd to manage the dump offload to bmc
diff --git a/oem/ibm/libpldmresponder/file_io_type_lid.hpp b/oem/ibm/libpldmresponder/file_io_type_lid.hpp
index 163629d..0f640f0 100644
--- a/oem/ibm/libpldmresponder/file_io_type_lid.hpp
+++ b/oem/ibm/libpldmresponder/file_io_type_lid.hpp
@@ -69,8 +69,7 @@
     /** @brief LidHandler destructor
      */
     ~LidHandler()
-    {
-    }
+    {}
 
   protected:
     std::string lidPath;
diff --git a/oem/ibm/libpldmresponder/file_io_type_pel.cpp b/oem/ibm/libpldmresponder/file_io_type_pel.cpp
index 69d3f2e..ef21c01 100644
--- a/oem/ibm/libpldmresponder/file_io_type_pel.cpp
+++ b/oem/ibm/libpldmresponder/file_io_type_pel.cpp
@@ -2,6 +2,9 @@
 
 #include "file_io_type_pel.hpp"
 
+#include "libpldm/base.h"
+#include "oem/ibm/libpldm/file_io.h"
+
 #include "utils.hpp"
 #include "xyz/openbmc_project/Common/error.hpp"
 
@@ -9,16 +12,14 @@
 #include <systemd/sd-bus.h>
 #include <unistd.h>
 
+#include <sdbusplus/server.hpp>
+#include <xyz/openbmc_project/Logging/Entry/server.hpp>
+
 #include <exception>
 #include <filesystem>
 #include <fstream>
 #include <iostream>
-#include <sdbusplus/server.hpp>
 #include <vector>
-#include <xyz/openbmc_project/Logging/Entry/server.hpp>
-
-#include "libpldm/base.h"
-#include "oem/ibm/libpldm/file_io.h"
 
 namespace pldm
 {
diff --git a/oem/ibm/libpldmresponder/file_io_type_pel.hpp b/oem/ibm/libpldmresponder/file_io_type_pel.hpp
index 3d5019a..90d012f 100644
--- a/oem/ibm/libpldmresponder/file_io_type_pel.hpp
+++ b/oem/ibm/libpldmresponder/file_io_type_pel.hpp
@@ -20,8 +20,7 @@
     /** @brief PelHandler constructor
      */
     PelHandler(uint32_t fileHandle) : FileHandler(fileHandle)
-    {
-    }
+    {}
 
     virtual int writeFromMemory(uint32_t offset, uint32_t length,
                                 uint64_t address);
@@ -52,8 +51,7 @@
     /** @brief PelHandler destructor
      */
     ~PelHandler()
-    {
-    }
+    {}
 };
 
 } // namespace responder
diff --git a/oem/ibm/libpldmresponder/file_table.cpp b/oem/ibm/libpldmresponder/file_table.cpp
index 45a49fe..9a71b30 100644
--- a/oem/ibm/libpldmresponder/file_table.cpp
+++ b/oem/ibm/libpldmresponder/file_table.cpp
@@ -1,10 +1,10 @@
 #include "file_table.hpp"
 
+#include "libpldm/utils.h"
+
 #include <fstream>
 #include <iostream>
 
-#include "libpldm/utils.h"
-
 namespace pldm
 {
 
diff --git a/oem/ibm/libpldmresponder/file_table.hpp b/oem/ibm/libpldmresponder/file_table.hpp
index 4b82f29..3354e89 100644
--- a/oem/ibm/libpldmresponder/file_table.hpp
+++ b/oem/ibm/libpldmresponder/file_table.hpp
@@ -1,12 +1,13 @@
 #pragma once
 
+#include "libpldm/pldm_types.h"
+
 #include <stdint.h>
 
-#include <filesystem>
 #include <nlohmann/json.hpp>
-#include <vector>
 
-#include "libpldm/pldm_types.h"
+#include <filesystem>
+#include <vector>
 
 namespace pldm
 {
diff --git a/oem/ibm/test/libpldm_fileio_test.cpp b/oem/ibm/test/libpldm_fileio_test.cpp
index 275f295..10ba83f 100644
--- a/oem/ibm/test/libpldm_fileio_test.cpp
+++ b/oem/ibm/test/libpldm_fileio_test.cpp
@@ -1,10 +1,10 @@
+#include "libpldm/base.h"
+#include "libpldm/file_io.h"
+
 #include <string.h>
 
 #include <array>
 
-#include "libpldm/base.h"
-#include "libpldm/file_io.h"
-
 #include <gtest/gtest.h>
 
 constexpr auto hdrSize = sizeof(pldm_msg_hdr);
diff --git a/oem/ibm/test/libpldm_host_test.cpp b/oem/ibm/test/libpldm_host_test.cpp
index 26ae5aa..73e35d1 100644
--- a/oem/ibm/test/libpldm_host_test.cpp
+++ b/oem/ibm/test/libpldm_host_test.cpp
@@ -1,9 +1,9 @@
+#include "oem/ibm/libpldm/host.h"
+
 #include <string.h>
 
 #include <array>
 
-#include "oem/ibm/libpldm/host.h"
-
 #include <gtest/gtest.h>
 
 constexpr auto hdrSize = sizeof(pldm_msg_hdr);
diff --git a/oem/ibm/test/libpldmresponder_fileio_test.cpp b/oem/ibm/test/libpldmresponder_fileio_test.cpp
index d50e5fc..e425a9a 100644
--- a/oem/ibm/test/libpldmresponder_fileio_test.cpp
+++ b/oem/ibm/test/libpldmresponder_fileio_test.cpp
@@ -1,3 +1,6 @@
+#include "libpldm/base.h"
+#include "libpldm/file_io.h"
+
 #include "libpldmresponder/file_io.hpp"
 #include "libpldmresponder/file_io_by_type.hpp"
 #include "libpldmresponder/file_io_type_cert.hpp"
@@ -7,13 +10,11 @@
 #include "libpldmresponder/file_table.hpp"
 #include "xyz/openbmc_project/Common/error.hpp"
 
-#include <filesystem>
-#include <fstream>
 #include <nlohmann/json.hpp>
 #include <phosphor-logging/elog-errors.hpp>
 
-#include "libpldm/base.h"
-#include "libpldm/file_io.h"
+#include <filesystem>
+#include <fstream>
 
 #include <gmock/gmock-matchers.h>
 #include <gmock/gmock.h>
diff --git a/pldmd.cpp b/pldmd.cpp
index 4bc8943..1361429 100644
--- a/pldmd.cpp
+++ b/pldmd.cpp
@@ -1,3 +1,8 @@
+#include "libpldm/base.h"
+#include "libpldm/bios.h"
+#include "libpldm/pdr.h"
+#include "libpldm/platform.h"
+
 #include "dbus_impl_pdr.hpp"
 #include "dbus_impl_requester.hpp"
 #include "host_pdr_handler.hpp"
@@ -17,6 +22,9 @@
 #include <sys/un.h>
 #include <unistd.h>
 
+#include <sdeventplus/event.hpp>
+#include <sdeventplus/source/io.hpp>
+
 #include <cstdio>
 #include <cstring>
 #include <fstream>
@@ -24,18 +32,11 @@
 #include <iostream>
 #include <iterator>
 #include <memory>
-#include <sdeventplus/event.hpp>
-#include <sdeventplus/source/io.hpp>
 #include <sstream>
 #include <stdexcept>
 #include <string>
 #include <vector>
 
-#include "libpldm/base.h"
-#include "libpldm/bios.h"
-#include "libpldm/pdr.h"
-#include "libpldm/platform.h"
-
 #ifdef OEM_IBM
 #include "libpldmresponder/file_io.hpp"
 #endif
@@ -195,8 +196,7 @@
     pldm::utils::CustomFD socketFd(sockfd);
 
     struct sockaddr_un addr
-    {
-    };
+    {};
     addr.sun_family = AF_UNIX;
     const char path[] = "\0mctp-mux";
     memcpy(addr.sun_path, path, sizeof(path) - 1);
@@ -233,8 +233,7 @@
         // This structure contains the parameter information for the response
         // message.
         struct msghdr msg
-        {
-        };
+        {};
 
         int returnCode = 0;
         ssize_t peekedLength = recv(fd, nullptr, 0, MSG_PEEK | MSG_TRUNC);
diff --git a/test/libpldmresponder_base_test.cpp b/test/libpldmresponder_base_test.cpp
index 3baefdb..ac6e681 100644
--- a/test/libpldmresponder_base_test.cpp
+++ b/test/libpldmresponder_base_test.cpp
@@ -1,11 +1,11 @@
+#include "libpldm/base.h"
+
 #include "libpldmresponder/base.hpp"
 
 #include <string.h>
 
 #include <array>
 
-#include "libpldm/base.h"
-
 #include <gtest/gtest.h>
 
 using namespace pldm::responder;
diff --git a/test/libpldmresponder_bios_attribute_test.cpp b/test/libpldmresponder_bios_attribute_test.cpp
index 4cc9db9..b4200d3 100644
--- a/test/libpldmresponder_bios_attribute_test.cpp
+++ b/test/libpldmresponder_bios_attribute_test.cpp
@@ -11,18 +11,15 @@
   public:
     TestAttribute(const Json& entry, DBusHandler* const dbusHandler) :
         BIOSAttribute(entry, dbusHandler)
-    {
-    }
+    {}
 
     void setAttrValueOnDbus(const pldm_bios_attr_val_table_entry*,
                             const pldm_bios_attr_table_entry*,
                             const BIOSStringTable&) override
-    {
-    }
+    {}
 
     void constructEntry(const BIOSStringTable&, Table&, Table&) override
-    {
-    }
+    {}
 
     const std::optional<DBusMapping>& getDbusMap()
     {
diff --git a/test/libpldmresponder_bios_config_test.cpp b/test/libpldmresponder_bios_config_test.cpp
index b6ec9a0..371658c 100644
--- a/test/libpldmresponder_bios_config_test.cpp
+++ b/test/libpldmresponder_bios_config_test.cpp
@@ -4,9 +4,10 @@
 #include "mocked_bios.hpp"
 #include "mocked_utils.hpp"
 
+#include <nlohmann/json.hpp>
+
 #include <fstream>
 #include <memory>
-#include <nlohmann/json.hpp>
 
 #include <gmock/gmock.h>
 #include <gtest/gtest.h>
diff --git a/test/libpldmresponder_bios_enum_attribute_test.cpp b/test/libpldmresponder_bios_enum_attribute_test.cpp
index 4cd5809..b6b53be 100644
--- a/test/libpldmresponder_bios_enum_attribute_test.cpp
+++ b/test/libpldmresponder_bios_enum_attribute_test.cpp
@@ -2,9 +2,10 @@
 #include "mocked_bios.hpp"
 #include "mocked_utils.hpp"
 
-#include <memory>
 #include <nlohmann/json.hpp>
 
+#include <memory>
+
 #include <gmock/gmock.h>
 #include <gtest/gtest.h>
 
diff --git a/test/libpldmresponder_bios_integer_attribute_test.cpp b/test/libpldmresponder_bios_integer_attribute_test.cpp
index c2c8e36..48c228b 100644
--- a/test/libpldmresponder_bios_integer_attribute_test.cpp
+++ b/test/libpldmresponder_bios_integer_attribute_test.cpp
@@ -2,9 +2,10 @@
 #include "mocked_bios.hpp"
 #include "mocked_utils.hpp"
 
-#include <memory>
 #include <nlohmann/json.hpp>
 
+#include <memory>
+
 #include <gmock/gmock.h>
 #include <gtest/gtest.h>
 
diff --git a/test/libpldmresponder_bios_string_attribute_test.cpp b/test/libpldmresponder_bios_string_attribute_test.cpp
index 747e60f..953d47d 100644
--- a/test/libpldmresponder_bios_string_attribute_test.cpp
+++ b/test/libpldmresponder_bios_string_attribute_test.cpp
@@ -2,9 +2,10 @@
 #include "mocked_bios.hpp"
 #include "mocked_utils.hpp"
 
-#include <memory>
 #include <nlohmann/json.hpp>
 
+#include <memory>
+
 #include <gmock/gmock.h>
 #include <gtest/gtest.h>
 
diff --git a/test/libpldmresponder_bios_test.cpp b/test/libpldmresponder_bios_test.cpp
index 3ca0c38..9683d49 100644
--- a/test/libpldmresponder_bios_test.cpp
+++ b/test/libpldmresponder_bios_test.cpp
@@ -1,3 +1,6 @@
+#include "libpldm/base.h"
+#include "libpldm/bios.h"
+
 #include "libpldmresponder/bios.hpp"
 #include "libpldmresponder/bios_table.hpp"
 
@@ -8,9 +11,6 @@
 #include <ctime>
 #include <filesystem>
 
-#include "libpldm/base.h"
-#include "libpldm/bios.h"
-
 #include <gtest/gtest.h>
 
 using namespace pldm;
@@ -21,8 +21,7 @@
 TEST(epochToBCDTime, testTime)
 {
     struct tm time
-    {
-    };
+    {};
     time.tm_year = 119;
     time.tm_mon = 3;
     time.tm_mday = 13;
diff --git a/test/libpldmresponder_pdr_effecter_test.cpp b/test/libpldmresponder_pdr_effecter_test.cpp
index 1bf2730..98b31ea 100644
--- a/test/libpldmresponder_pdr_effecter_test.cpp
+++ b/test/libpldmresponder_pdr_effecter_test.cpp
@@ -1,8 +1,8 @@
+#include "libpldm/platform.h"
+
 #include "libpldmresponder/pdr_utils.hpp"
 #include "libpldmresponder/platform.hpp"
 
-#include "libpldm/platform.h"
-
 #include <gtest/gtest.h>
 
 using namespace pldm::responder;
diff --git a/test/mocked_bios.hpp b/test/mocked_bios.hpp
index 568fad9..6741306 100644
--- a/test/mocked_bios.hpp
+++ b/test/mocked_bios.hpp
@@ -10,8 +10,7 @@
 {
   public:
     MockBIOSStringTable() : BIOSStringTable({})
-    {
-    }
+    {}
 
     MOCK_METHOD(uint16_t, findHandle, (const std::string&), (const override));
 
diff --git a/test/pldm_utils_test.cpp b/test/pldm_utils_test.cpp
index 65b16c1..c9c5dd8 100644
--- a/test/pldm_utils_test.cpp
+++ b/test/pldm_utils_test.cpp
@@ -1,7 +1,7 @@
-#include "utils.hpp"
-
 #include "libpldm/platform.h"
 
+#include "utils.hpp"
+
 #include <gtest/gtest.h>
 
 using namespace pldm::utils;
diff --git a/test/pldmd_registration_test.cpp b/test/pldmd_registration_test.cpp
index d37156b..37339c3 100644
--- a/test/pldmd_registration_test.cpp
+++ b/test/pldmd_registration_test.cpp
@@ -1,9 +1,9 @@
+#include "libpldm/base.h"
+
 #include "invoker.hpp"
 
 #include <stdexcept>
 
-#include "libpldm/base.h"
-
 #include <gtest/gtest.h>
 
 using namespace pldm;
diff --git a/tool/oem/ibm/pldm_host_cmd.cpp b/tool/oem/ibm/pldm_host_cmd.cpp
index cb7e740..4f14e8c 100644
--- a/tool/oem/ibm/pldm_host_cmd.cpp
+++ b/tool/oem/ibm/pldm_host_cmd.cpp
@@ -1,9 +1,9 @@
 #include "pldm_host_cmd.hpp"
 
-#include "../../pldm_cmd_helper.hpp"
-
 #include "oem/ibm/libpldm/host.h"
 
+#include "../../pldm_cmd_helper.hpp"
+
 namespace pldmtool
 {
 
diff --git a/tool/pldm_base_cmd.cpp b/tool/pldm_base_cmd.cpp
index 1b0ebd2..8079850 100644
--- a/tool/pldm_base_cmd.cpp
+++ b/tool/pldm_base_cmd.cpp
@@ -1,9 +1,9 @@
 #include "pldm_base_cmd.hpp"
 
-#include "pldm_cmd_helper.hpp"
-
 #include "libpldm/utils.h"
 
+#include "pldm_cmd_helper.hpp"
+
 #ifdef OEM_IBM
 #include "libpldm/file_io.h"
 #include "libpldm/host.h"
diff --git a/tool/pldm_base_cmd.hpp b/tool/pldm_base_cmd.hpp
index b465963..2e8056d 100644
--- a/tool/pldm_base_cmd.hpp
+++ b/tool/pldm_base_cmd.hpp
@@ -11,4 +11,4 @@
 void registerCommand(CLI::App& app);
 }
 
-} // namespace pldmtool
\ No newline at end of file
+} // namespace pldmtool
diff --git a/tool/pldm_bios_cmd.cpp b/tool/pldm_bios_cmd.cpp
index afd34d8..e655ea3 100644
--- a/tool/pldm_bios_cmd.cpp
+++ b/tool/pldm_bios_cmd.cpp
@@ -1,5 +1,8 @@
 #include "pldm_bios_cmd.hpp"
 
+#include "libpldm/bios_table.h"
+#include "libpldm/utils.h"
+
 #include "bios_utils.hpp"
 #include "pldm_cmd_helper.hpp"
 #include "utils.hpp"
@@ -7,9 +10,6 @@
 #include <map>
 #include <optional>
 
-#include "libpldm/bios_table.h"
-#include "libpldm/utils.h"
-
 namespace pldmtool
 {
 
@@ -193,8 +193,7 @@
     }
 
     void parseResponseMsg(pldm_msg*, size_t) override
-    {
-    }
+    {}
 
     std::optional<Table> getBIOSTable(pldm_bios_table_types tableType)
     {
diff --git a/tool/pldm_cmd_helper.cpp b/tool/pldm_cmd_helper.cpp
index 4da1d37..7002c79 100644
--- a/tool/pldm_cmd_helper.cpp
+++ b/tool/pldm_cmd_helper.cpp
@@ -1,14 +1,15 @@
 #include "pldm_cmd_helper.hpp"
 
+#include "libpldm/requester/pldm.h"
+
 #include "xyz/openbmc_project/Common/error.hpp"
 
 #include <systemd/sd-bus.h>
 
-#include <exception>
 #include <sdbusplus/server.hpp>
 #include <xyz/openbmc_project/Logging/Entry/server.hpp>
 
-#include "libpldm/requester/pldm.h"
+#include <exception>
 
 namespace pldmtool
 {
@@ -53,8 +54,7 @@
     Logger(pldmVerbose, "Success in creating the socket : RC = ", sockFd);
 
     struct sockaddr_un addr
-    {
-    };
+    {};
     addr.sun_family = AF_UNIX;
 
     memcpy(addr.sun_path, devPath, sizeof(devPath) - 1);
diff --git a/tool/pldm_cmd_helper.hpp b/tool/pldm_cmd_helper.hpp
index 978da83..814de45 100644
--- a/tool/pldm_cmd_helper.hpp
+++ b/tool/pldm_cmd_helper.hpp
@@ -1,5 +1,10 @@
 #pragma once
 
+#include "libpldm/base.h"
+#include "libpldm/bios.h"
+#include "libpldm/fru.h"
+#include "libpldm/platform.h"
+
 #include "utils.hpp"
 
 #include <err.h>
@@ -8,16 +13,12 @@
 #include <unistd.h>
 
 #include <CLI/CLI.hpp>
+
 #include <cstring>
 #include <iomanip>
 #include <iostream>
 #include <utility>
 
-#include "libpldm/base.h"
-#include "libpldm/bios.h"
-#include "libpldm/fru.h"
-#include "libpldm/platform.h"
-
 namespace pldmtool
 {
 
diff --git a/tool/pldmtool.cpp b/tool/pldmtool.cpp
index 22cdd6b..e893765 100644
--- a/tool/pldmtool.cpp
+++ b/tool/pldmtool.cpp
@@ -45,8 +45,7 @@
 
     void parseResponseMsg(pldm_msg* /* responsePtr */,
                           size_t /* payloadLength */) override
-    {
-    }
+    {}
 
   private:
     std::vector<uint8_t> rawData;
diff --git a/utilities/requester/set_state_effecter.cpp b/utilities/requester/set_state_effecter.cpp
index b20cb22..4df2c64 100644
--- a/utilities/requester/set_state_effecter.cpp
+++ b/utilities/requester/set_state_effecter.cpp
@@ -1,10 +1,11 @@
-#include <CLI/CLI.hpp>
-#include <array>
-#include <iostream>
-
 #include "libpldm/platform.h"
 #include "libpldm/requester/pldm.h"
 
+#include <CLI/CLI.hpp>
+
+#include <array>
+#include <iostream>
+
 int main(int argc, char** argv)
 {
     CLI::App app{"Send PLDM command SetStateEffecterStates"};
diff --git a/utilities/requester/set_state_effecter_async.cpp b/utilities/requester/set_state_effecter_async.cpp
index 8ce7d35..303aefe 100644
--- a/utilities/requester/set_state_effecter_async.cpp
+++ b/utilities/requester/set_state_effecter_async.cpp
@@ -1,13 +1,14 @@
-#include <CLI/CLI.hpp>
-#include <array>
-#include <iostream>
-#include <sdeventplus/event.hpp>
-#include <sdeventplus/source/io.hpp>
-
 #include "libpldm/base.h"
 #include "libpldm/platform.h"
 #include "libpldm/requester/pldm.h"
 
+#include <CLI/CLI.hpp>
+#include <sdeventplus/event.hpp>
+#include <sdeventplus/source/io.hpp>
+
+#include <array>
+#include <iostream>
+
 using namespace sdeventplus;
 using namespace sdeventplus::source;
 
diff --git a/utils.cpp b/utils.cpp
index 1212f62..10feeab 100644
--- a/utils.cpp
+++ b/utils.cpp
@@ -1,5 +1,10 @@
 #include "utils.hpp"
 
+#include "libpldm/pdr.h"
+#include "libpldm/pldm_types.h"
+
+#include <xyz/openbmc_project/Common/error.hpp>
+
 #include <array>
 #include <ctime>
 #include <fstream>
@@ -8,10 +13,6 @@
 #include <stdexcept>
 #include <string>
 #include <vector>
-#include <xyz/openbmc_project/Common/error.hpp>
-
-#include "libpldm/pdr.h"
-#include "libpldm/pldm_types.h"
 
 namespace pldm
 {
diff --git a/utils.hpp b/utils.hpp
index 715d509..d93a807 100644
--- a/utils.hpp
+++ b/utils.hpp
@@ -1,22 +1,23 @@
 #pragma once
 
+#include "libpldm/base.h"
+#include "libpldm/bios.h"
+#include "libpldm/platform.h"
+
 #include <stdint.h>
 #include <systemd/sd-bus.h>
 #include <unistd.h>
 
+#include <nlohmann/json.hpp>
+#include <sdbusplus/server.hpp>
+#include <xyz/openbmc_project/Logging/Entry/server.hpp>
+
 #include <exception>
 #include <filesystem>
 #include <iostream>
-#include <nlohmann/json.hpp>
-#include <sdbusplus/server.hpp>
 #include <string>
 #include <variant>
 #include <vector>
-#include <xyz/openbmc_project/Logging/Entry/server.hpp>
-
-#include "libpldm/base.h"
-#include "libpldm/bios.h"
-#include "libpldm/platform.h"
 
 namespace pldm
 {
@@ -37,8 +38,7 @@
     CustomFD& operator=(CustomFD&&) = delete;
 
     CustomFD(int fd) : fd(fd)
-    {
-    }
+    {}
 
     ~CustomFD()
     {
