diff --git a/pid/thermalcontroller.hpp b/pid/thermalcontroller.hpp
index 32d4a7f..ed94acb 100644
--- a/pid/thermalcontroller.hpp
+++ b/pid/thermalcontroller.hpp
@@ -1,12 +1,11 @@
 #pragma once
 
-#include <memory>
-#include <string>
-#include <vector>
-
 #include "controller.hpp"
 #include "ec/pid.hpp"
 
+#include <memory>
+#include <string>
+#include <vector>
 
 /*
  * A ThermalController is a PID controller that reads a number of sensors and
@@ -14,26 +13,23 @@
  */
 class ThermalController : public PIDController
 {
-    public:
-        static std::unique_ptr<PIDController> CreateThermalPid(
-            ZoneInterface* owner,
-            const std::string& id,
-            std::vector<std::string>& inputs,
-            float setpoint,
-            ec::pidinfo initial);
+  public:
+    static std::unique_ptr<PIDController>
+        CreateThermalPid(ZoneInterface* owner, const std::string& id,
+                         std::vector<std::string>& inputs, float setpoint,
+                         ec::pidinfo initial);
 
-        ThermalController(const std::string& id,
-                          std::vector<std::string>& inputs,
-                          ZoneInterface* owner)
-            : PIDController(id, owner),
-              _inputs(inputs)
-        { }
+    ThermalController(const std::string& id, std::vector<std::string>& inputs,
+                      ZoneInterface* owner) :
+        PIDController(id, owner),
+        _inputs(inputs)
+    {
+    }
 
-        float input_proc(void) override;
-        float setpt_proc(void) override;
-        void output_proc(float value) override;
+    float input_proc(void) override;
+    float setpt_proc(void) override;
+    void output_proc(float value) override;
 
-    private:
-        std::vector<std::string> _inputs;
+  private:
+    std::vector<std::string> _inputs;
 };
-
