diff --git a/inc/button_factory.hpp b/inc/button_factory.hpp
index 29fb990..83cf530 100644
--- a/inc/button_factory.hpp
+++ b/inc/button_factory.hpp
@@ -38,18 +38,17 @@
         buttonIfaceRegistry[std::string(T::getFormFactorName())] =
             [](sdbusplus::bus_t& bus, EventPtr& event,
                ButtonConfig& buttonCfg) {
-            return std::make_unique<T>(bus, T::getDbusObjectPath(), event,
-                                       buttonCfg);
-        };
+                return std::make_unique<T>(bus, T::getDbusObjectPath(), event,
+                                           buttonCfg);
+            };
     }
     /**
      * @brief this method returns the button interface object
      *    corresponding to the button formfactor name provided
      */
-    std::unique_ptr<ButtonIface> createInstance(const std::string& name,
-                                                sdbusplus::bus_t& bus,
-                                                EventPtr& event,
-                                                ButtonConfig& buttonCfg)
+    std::unique_ptr<ButtonIface>
+        createInstance(const std::string& name, sdbusplus::bus_t& bus,
+                       EventPtr& event, ButtonConfig& buttonCfg)
     {
         // find matching name in the registry and call factory method.
         auto objectIter = buttonIfaceRegistry.find(name);
