diff --git a/sensors/pluggable.hpp b/sensors/pluggable.hpp
index 1eb6571..005d9ad 100644
--- a/sensors/pluggable.hpp
+++ b/sensors/pluggable.hpp
@@ -1,33 +1,30 @@
 #pragma once
 
-#include <memory>
-#include <string>
-
-#include <sdbusplus/bus.hpp>
-
 #include "interfaces.hpp"
 #include "sensor.hpp"
 
+#include <memory>
+#include <sdbusplus/bus.hpp>
+#include <string>
 
 /*
  * A Sensor that can use any reader or writer you provide.
  */
 class PluggableSensor : public Sensor
 {
-    public:
-        PluggableSensor(const std::string& name,
-                        int64_t timeout,
-                        std::unique_ptr<ReadInterface> reader,
-                        std::unique_ptr<WriteInterface> writer)
-            : Sensor(name, timeout),
-              _reader(std::move(reader)),
-              _writer(std::move(writer))
-        { }
+  public:
+    PluggableSensor(const std::string& name, int64_t timeout,
+                    std::unique_ptr<ReadInterface> reader,
+                    std::unique_ptr<WriteInterface> writer) :
+        Sensor(name, timeout),
+        _reader(std::move(reader)), _writer(std::move(writer))
+    {
+    }
 
-        ReadReturn read(void) override;
-        void write(double value) override;
+    ReadReturn read(void) override;
+    void write(double value) override;
 
-    private:
-        std::unique_ptr<ReadInterface> _reader;
-        std::unique_ptr<WriteInterface> _writer;
+  private:
+    std::unique_ptr<ReadInterface> _reader;
+    std::unique_ptr<WriteInterface> _writer;
 };
