diff --git a/include/ipmid/handler.hpp b/include/ipmid/handler.hpp
index 229b0cf..0359ee3 100644
--- a/include/ipmid/handler.hpp
+++ b/include/ipmid/handler.hpp
@@ -16,19 +16,20 @@
 #pragma once
 #include <cxxabi.h>
 
-#include <algorithm>
 #include <boost/asio/spawn.hpp>
 #include <boost/callable_traits.hpp>
-#include <cstdint>
-#include <exception>
 #include <ipmid/api-types.hpp>
 #include <ipmid/message.hpp>
+#include <phosphor-logging/log.hpp>
+#include <user_channel/channel_layer.hpp>
+
+#include <algorithm>
+#include <cstdint>
+#include <exception>
 #include <memory>
 #include <optional>
-#include <phosphor-logging/log.hpp>
 #include <stdexcept>
 #include <tuple>
-#include <user_channel/channel_layer.hpp>
 #include <utility>
 
 #ifdef ALLOW_DEPRECATED_API
@@ -61,9 +62,7 @@
 class HandlerCompletion
 {
   public:
-    HandlerCompletion(Cc cc) noexcept : cc(cc)
-    {
-    }
+    HandlerCompletion(Cc cc) noexcept : cc(cc) {}
 
     Cc code() const noexcept
     {
@@ -81,12 +80,10 @@
   public:
     HandlerException(Cc cc, const char* what) :
         HandlerCompletion(cc), std::runtime_error(what)
-    {
-    }
+    {}
     HandlerException(Cc cc, const std::string& what) :
         HandlerException(cc, what.c_str())
-    {
-    }
+    {}
 };
 
 static inline const char* currentExceptionType()
@@ -161,8 +158,7 @@
   public:
     explicit IpmiHandler(Handler&& handler) :
         handler_(std::forward<Handler>(handler))
-    {
-    }
+    {}
 
   private:
     Handler handler_;
@@ -331,8 +327,7 @@
   public:
     explicit IpmiHandler(const ipmid_callback_t& handler, void* ctx = nullptr) :
         handler_(handler), handlerCtx(ctx)
-    {
-    }
+    {}
 
   private:
     ipmid_callback_t handler_;
@@ -423,9 +418,7 @@
 class IpmiHandler<oem::Handler> final : public HandlerBase
 {
   public:
-    explicit IpmiHandler(const oem::Handler& handler) : handler_(handler)
-    {
-    }
+    explicit IpmiHandler(const oem::Handler& handler) : handler_(handler) {}
 
   private:
     oem::Handler handler_;
