diff --git a/src/ipmiblob/blob_handler.cpp b/src/ipmiblob/blob_handler.cpp
index 362e264..1f8a33b 100644
--- a/src/ipmiblob/blob_handler.cpp
+++ b/src/ipmiblob/blob_handler.cpp
@@ -36,8 +36,8 @@
 const std::array<std::uint8_t, 3> ipmiPhosphorOen = {0xcf, 0xc2, 0x00};
 }
 
-std::unique_ptr<BlobInterface>
-    BlobHandler::CreateBlobHandler(std::unique_ptr<IpmiInterface> ipmi)
+std::unique_ptr<BlobInterface> BlobHandler::CreateBlobHandler(
+    std::unique_ptr<IpmiInterface> ipmi)
 {
     return std::make_unique<BlobHandler>(std::move(ipmi));
 }
diff --git a/src/ipmiblob/blob_handler.hpp b/src/ipmiblob/blob_handler.hpp
index dddf41b..983f760 100644
--- a/src/ipmiblob/blob_handler.hpp
+++ b/src/ipmiblob/blob_handler.hpp
@@ -17,8 +17,8 @@
      * @note This is a convenience method.
      * @return a BlobHandler wrapped as a BlobInterface pointer.
      */
-    static std::unique_ptr<BlobInterface>
-        CreateBlobHandler(std::unique_ptr<IpmiInterface> ipmi);
+    static std::unique_ptr<BlobInterface> CreateBlobHandler(
+        std::unique_ptr<IpmiInterface> ipmi);
 
     explicit BlobHandler(std::unique_ptr<IpmiInterface> ipmi) :
         ipmi(std::move(ipmi)) {};
diff --git a/src/ipmiblob/ipmi_handler.hpp b/src/ipmiblob/ipmi_handler.hpp
index 1fbf5b6..a7e1613 100644
--- a/src/ipmiblob/ipmi_handler.hpp
+++ b/src/ipmiblob/ipmi_handler.hpp
@@ -38,9 +38,9 @@
     /**
      * @throws IpmiException on failure.
      */
-    std::vector<std::uint8_t>
-        sendPacket(std::uint8_t netfn, std::uint8_t cmd,
-                   std::vector<std::uint8_t>& data) override;
+    std::vector<std::uint8_t> sendPacket(
+        std::uint8_t netfn, std::uint8_t cmd,
+        std::vector<std::uint8_t>& data) override;
 
   private:
     const std::unique_ptr<internal::Sys> sys;
diff --git a/src/ipmiblob/ipmi_interface.hpp b/src/ipmiblob/ipmi_interface.hpp
index 4a62c2c..ea13b24 100644
--- a/src/ipmiblob/ipmi_interface.hpp
+++ b/src/ipmiblob/ipmi_interface.hpp
@@ -20,9 +20,9 @@
      * @return the bytes returned.
      * @throws IpmiException on failure.
      */
-    virtual std::vector<std::uint8_t>
-        sendPacket(std::uint8_t netfn, std::uint8_t cmd,
-                   std::vector<std::uint8_t>& data) = 0;
+    virtual std::vector<std::uint8_t> sendPacket(
+        std::uint8_t netfn, std::uint8_t cmd,
+        std::vector<std::uint8_t>& data) = 0;
 };
 
 } // namespace ipmiblob
diff --git a/src/ipmiblob/test/crc_mock.hpp b/src/ipmiblob/test/crc_mock.hpp
index 67bf9fd..f0378f7 100644
--- a/src/ipmiblob/test/crc_mock.hpp
+++ b/src/ipmiblob/test/crc_mock.hpp
@@ -13,8 +13,8 @@
   public:
     virtual ~CrcInterface() = default;
 
-    virtual std::uint16_t
-        generateCrc(const std::vector<std::uint8_t>& data) const = 0;
+    virtual std::uint16_t generateCrc(
+        const std::vector<std::uint8_t>& data) const = 0;
 };
 
 class CrcMock : public CrcInterface
