diff --git a/y2017/control_loops/superstructure/intake/intake.h b/y2017/control_loops/superstructure/intake/intake.h
index def4d96..c6990bc 100644
--- a/y2017/control_loops/superstructure/intake/intake.h
+++ b/y2017/control_loops/superstructure/intake/intake.h
@@ -11,38 +11,36 @@
 
 class Intake {
  public:
-   Intake();
-   double goal(int row, int col) const {
-     return profiled_subsystem_.goal(row, col);
-   }
+  Intake();
+  double goal(int row, int col) const {
+    return profiled_subsystem_.goal(row, col);
+  }
 
-   // The zeroing and operating voltages.
-   static constexpr double kZeroingVoltage = 2.5;
-   static constexpr double kOperatingVoltage = 12.0;
+  // The zeroing and operating voltages.
+  static constexpr double kZeroingVoltage = 2.5;
+  static constexpr double kOperatingVoltage = 12.0;
 
-   void Iterate(const control_loops::IntakeGoal *unsafe_goal,
-                const ::frc971::PotAndAbsolutePosition *position,
-                double *output,
-                ::frc971::control_loops::AbsoluteProfiledJointStatus *status);
+  void Iterate(const control_loops::IntakeGoal *unsafe_goal,
+               const ::frc971::PotAndAbsolutePosition *position, double *output,
+               ::frc971::control_loops::AbsoluteProfiledJointStatus *status);
 
-   void Reset();
+  void Reset();
 
-   enum class State : int32_t{
-     UNINITIALIZED,
-     DISABLED_INITIALIZED,
-     ZEROING,
-     RUNNING,
-     ESTOP,
-   };
+  enum class State : int32_t {
+    UNINITIALIZED,
+    DISABLED_INITIALIZED,
+    ZEROING,
+    RUNNING,
+    ESTOP,
+  };
 
-   State state() const { return state_; }
+  State state() const { return state_; }
 
-  private:
-   State state_;
+ private:
+  State state_;
 
-   ::frc971::control_loops::SingleDOFProfiledSubsystem<
-       ::frc971::zeroing::PotAndAbsEncoderZeroingEstimator>
-       profiled_subsystem_;
+  ::frc971::control_loops::SingleDOFProfiledSubsystem<
+      ::frc971::zeroing::PotAndAbsEncoderZeroingEstimator> profiled_subsystem_;
 };
 
 }  // namespace intake
