diff --git a/y2017/control_loops/superstructure/column/column.cc b/y2017/control_loops/superstructure/column/column.cc
index 8f36085..9acd190 100644
--- a/y2017/control_loops/superstructure/column/column.cc
+++ b/y2017/control_loops/superstructure/column/column.cc
@@ -6,6 +6,7 @@
 #include <utility>
 
 #include "Eigen/Dense"
+
 #include "aos/commonmath.h"
 #include "frc971/constants.h"
 #include "frc971/control_loops/profiled_subsystem.h"
diff --git a/y2017/control_loops/superstructure/column/column_zeroing.cc b/y2017/control_loops/superstructure/column/column_zeroing.cc
index 7d5937a..53bec5f 100644
--- a/y2017/control_loops/superstructure/column/column_zeroing.cc
+++ b/y2017/control_loops/superstructure/column/column_zeroing.cc
@@ -69,10 +69,10 @@
 flatbuffers::Offset<ColumnZeroingEstimator::State>
 ColumnZeroingEstimator::GetEstimatorState(
     flatbuffers::FlatBufferBuilder *fbb) const {
-  flatbuffers::Offset<frc971::HallEffectAndPositionEstimatorState> indexer_offset =
-      indexer_.GetEstimatorState(fbb);
-  flatbuffers::Offset<frc971::HallEffectAndPositionEstimatorState> turret_offset =
-      turret_.GetEstimatorState(fbb);
+  flatbuffers::Offset<frc971::HallEffectAndPositionEstimatorState>
+      indexer_offset = indexer_.GetEstimatorState(fbb);
+  flatbuffers::Offset<frc971::HallEffectAndPositionEstimatorState>
+      turret_offset = turret_.GetEstimatorState(fbb);
 
   State::Builder state_builder(*fbb);
   state_builder.add_indexer(indexer_offset);
@@ -84,5 +84,5 @@
 
 }  // namespace column
 }  // namespace superstructure
-}  // control_loops
-}  // y2017
+}  // namespace control_loops
+}  // namespace y2017
diff --git a/y2017/control_loops/superstructure/column/column_zeroing.h b/y2017/control_loops/superstructure/column/column_zeroing.h
index 8c2cbf3..a7fe47b 100644
--- a/y2017/control_loops/superstructure/column/column_zeroing.h
+++ b/y2017/control_loops/superstructure/column/column_zeroing.h
@@ -29,9 +29,7 @@
 
   bool offset_ready() const { return offset_ready_; }
 
-  bool error() const {
-    return error_ || indexer_.error() || turret_.error();
-  }
+  bool error() const { return error_ || indexer_.error() || turret_.error(); }
 
   bool zeroed() const {
     return zeroed_ && indexer_.zeroed() && turret_.zeroed();
@@ -67,9 +65,9 @@
   const double turret_zeroed_distance_;
 };
 
-}  // column
-}  // superstructure
-}  // control_loops
-}  // y2017
+}  // namespace column
+}  // namespace superstructure
+}  // namespace control_loops
+}  // namespace y2017
 
 #endif  // y2017_CONTROL_LOOPS_SUPERSTRUCTURE_COLUMN_H_
diff --git a/y2017/control_loops/superstructure/column/column_zeroing_test.cc b/y2017/control_loops/superstructure/column/column_zeroing_test.cc
index af0eb15..ef32beb 100644
--- a/y2017/control_loops/superstructure/column/column_zeroing_test.cc
+++ b/y2017/control_loops/superstructure/column/column_zeroing_test.cc
@@ -1,17 +1,20 @@
+#include "y2017/control_loops/superstructure/column/column_zeroing.h"
+
 #include <unistd.h>
+
 #include <memory>
 #include <random>
 
+#include "glog/logging.h"
+#include "gtest/gtest.h"
+
 #include "aos/die.h"
 #include "aos/flatbuffers.h"
 #include "aos/json_to_flatbuffer.h"
 #include "frc971/control_loops/position_sensor_sim.h"
 #include "frc971/control_loops/team_number_test_environment.h"
 #include "frc971/zeroing/zeroing.h"
-#include "glog/logging.h"
-#include "gtest/gtest.h"
 #include "y2017/constants.h"
-#include "y2017/control_loops/superstructure/column/column_zeroing.h"
 
 namespace y2017 {
 namespace control_loops {
@@ -66,8 +69,8 @@
     column_position_builder.add_turret(turret_offset);
     fbb.Finish(column_position_builder.Finish());
 
-
-    aos::FlatbufferDetachedBuffer<ColumnPosition> column_position(fbb.Release());
+    aos::FlatbufferDetachedBuffer<ColumnPosition> column_position(
+        fbb.Release());
     LOG(INFO) << "Position: " << aos::FlatbufferToJson(column_position);
 
     column_zeroing_estimator_.UpdateEstimate(column_position.message());
diff --git a/y2017/control_loops/superstructure/intake/intake.h b/y2017/control_loops/superstructure/intake/intake.h
index cba3318..a91d2f0 100644
--- a/y2017/control_loops/superstructure/intake/intake.h
+++ b/y2017/control_loops/superstructure/intake/intake.h
@@ -21,7 +21,8 @@
   // intake to stay out far enough to avoid collisions.
   void set_min_position(double min_position) { min_position_ = min_position; }
 
-  // Moves min_position_ to a position which won't affect any other goal requests.
+  // Moves min_position_ to a position which won't affect any other goal
+  // requests.
   void clear_min_position() {
     min_position_ = constants::Values::kIntakeRange.lower_hard;
   }
diff --git a/y2017/control_loops/superstructure/shooter/shooter.h b/y2017/control_loops/superstructure/shooter/shooter.h
index afb627d..44da1dc 100644
--- a/y2017/control_loops/superstructure/shooter/shooter.h
+++ b/y2017/control_loops/superstructure/shooter/shooter.h
@@ -4,11 +4,11 @@
 #include <array>
 #include <memory>
 
-#include "frc971/control_loops/control_loop.h"
-#include "aos/time/time.h"
-#include "frc971/control_loops/state_feedback_loop.h"
 #include "Eigen/Dense"
 
+#include "aos/time/time.h"
+#include "frc971/control_loops/control_loop.h"
+#include "frc971/control_loops/state_feedback_loop.h"
 #include "y2017/control_loops/superstructure/shooter/shooter_integral_plant.h"
 #include "y2017/control_loops/superstructure/superstructure_goal_generated.h"
 #include "y2017/control_loops/superstructure/superstructure_status_generated.h"
diff --git a/y2017/control_loops/superstructure/superstructure.h b/y2017/control_loops/superstructure/superstructure.h
index ae52dae..c10ebbd 100644
--- a/y2017/control_loops/superstructure/superstructure.h
+++ b/y2017/control_loops/superstructure/superstructure.h
@@ -3,8 +3,8 @@
 
 #include <memory>
 
-#include "frc971/control_loops/control_loop.h"
 #include "aos/events/event_loop.h"
+#include "frc971/control_loops/control_loop.h"
 #include "frc971/control_loops/state_feedback_loop.h"
 #include "y2017/control_loops/superstructure/column/column.h"
 #include "y2017/control_loops/superstructure/hood/hood.h"
diff --git a/y2017/control_loops/superstructure/superstructure_lib_test.cc b/y2017/control_loops/superstructure/superstructure_lib_test.cc
index 2c97475..e7fd0ff 100644
--- a/y2017/control_loops/superstructure/superstructure_lib_test.cc
+++ b/y2017/control_loops/superstructure/superstructure_lib_test.cc
@@ -3,10 +3,11 @@
 #include <chrono>
 #include <memory>
 
+#include "gtest/gtest.h"
+
 #include "frc971/control_loops/control_loop_test.h"
 #include "frc971/control_loops/position_sensor_sim.h"
 #include "frc971/control_loops/team_number_test_environment.h"
-#include "gtest/gtest.h"
 #include "y2017/constants.h"
 #include "y2017/control_loops/superstructure/column/column_plant.h"
 #include "y2017/control_loops/superstructure/hood/hood_plant.h"
@@ -636,8 +637,7 @@
     goal_builder.add_shooter(shooter_offset);
     goal_builder.add_indexer(indexer_offset);
 
-    ASSERT_EQ(builder.Send(goal_builder.Finish()),
-              aos::RawSender::Error::kOk);
+    ASSERT_EQ(builder.Send(goal_builder.Finish()), aos::RawSender::Error::kOk);
   }
   RunFor(chrono::seconds(5));
 
@@ -693,8 +693,7 @@
     goal_builder.add_shooter(shooter_offset);
     goal_builder.add_indexer(indexer_offset);
 
-    ASSERT_EQ(builder.Send(goal_builder.Finish()),
-              aos::RawSender::Error::kOk);
+    ASSERT_EQ(builder.Send(goal_builder.Finish()), aos::RawSender::Error::kOk);
   }
 
   // Give it a lot of time to get there.
@@ -741,8 +740,7 @@
     goal_builder.add_shooter(shooter_offset);
     goal_builder.add_indexer(indexer_offset);
 
-    ASSERT_EQ(builder.Send(goal_builder.Finish()),
-              aos::RawSender::Error::kOk);
+    ASSERT_EQ(builder.Send(goal_builder.Finish()), aos::RawSender::Error::kOk);
   }
   RunFor(chrono::seconds(8));
   VerifyNearGoal();
@@ -793,8 +791,7 @@
     goal_builder.add_shooter(shooter_offset);
     goal_builder.add_indexer(indexer_offset);
 
-    ASSERT_EQ(builder.Send(goal_builder.Finish()),
-              aos::RawSender::Error::kOk);
+    ASSERT_EQ(builder.Send(goal_builder.Finish()), aos::RawSender::Error::kOk);
   }
   superstructure_plant_.set_peak_intake_velocity(23.0);
   superstructure_plant_.set_peak_turret_velocity(23.0);
@@ -849,8 +846,7 @@
     goal_builder.add_shooter(shooter_offset);
     goal_builder.add_indexer(indexer_offset);
 
-    ASSERT_EQ(builder.Send(goal_builder.Finish()),
-              aos::RawSender::Error::kOk);
+    ASSERT_EQ(builder.Send(goal_builder.Finish()), aos::RawSender::Error::kOk);
   }
 
   superstructure_plant_.set_peak_intake_velocity(0.2);
@@ -912,8 +908,7 @@
     goal_builder.add_shooter(shooter_offset);
     goal_builder.add_indexer(indexer_offset);
 
-    ASSERT_EQ(builder.Send(goal_builder.Finish()),
-              aos::RawSender::Error::kOk);
+    ASSERT_EQ(builder.Send(goal_builder.Finish()), aos::RawSender::Error::kOk);
   }
   RunFor(chrono::seconds(10));
 
@@ -971,8 +966,7 @@
     goal_builder.add_shooter(shooter_offset);
     goal_builder.add_indexer(indexer_offset);
 
-    ASSERT_EQ(builder.Send(goal_builder.Finish()),
-              aos::RawSender::Error::kOk);
+    ASSERT_EQ(builder.Send(goal_builder.Finish()), aos::RawSender::Error::kOk);
   }
 
   RunFor(chrono::seconds(10));
@@ -1032,8 +1026,7 @@
     goal_builder.add_shooter(shooter_offset);
     goal_builder.add_indexer(indexer_offset);
 
-    ASSERT_EQ(builder.Send(goal_builder.Finish()),
-              aos::RawSender::Error::kOk);
+    ASSERT_EQ(builder.Send(goal_builder.Finish()), aos::RawSender::Error::kOk);
   }
 
   RunFor(chrono::seconds(10));
@@ -1095,8 +1088,7 @@
     goal_builder.add_shooter(shooter_offset);
     goal_builder.add_indexer(indexer_offset);
 
-    ASSERT_EQ(builder.Send(goal_builder.Finish()),
-              aos::RawSender::Error::kOk);
+    ASSERT_EQ(builder.Send(goal_builder.Finish()), aos::RawSender::Error::kOk);
   }
 
   RunFor(chrono::seconds(10));
@@ -1154,8 +1146,7 @@
     goal_builder.add_shooter(shooter_offset);
     goal_builder.add_indexer(indexer_offset);
 
-    ASSERT_EQ(builder.Send(goal_builder.Finish()),
-              aos::RawSender::Error::kOk);
+    ASSERT_EQ(builder.Send(goal_builder.Finish()), aos::RawSender::Error::kOk);
   }
   RunFor(chrono::seconds(10));
 
@@ -1203,8 +1194,7 @@
     goal_builder.add_shooter(shooter_offset);
     goal_builder.add_indexer(indexer_offset);
 
-    ASSERT_EQ(builder.Send(goal_builder.Finish()),
-              aos::RawSender::Error::kOk);
+    ASSERT_EQ(builder.Send(goal_builder.Finish()), aos::RawSender::Error::kOk);
   }
   RunFor(chrono::seconds(10));
 
@@ -1251,8 +1241,7 @@
     goal_builder.add_shooter(shooter_offset);
     goal_builder.add_indexer(indexer_offset);
 
-    ASSERT_EQ(builder.Send(goal_builder.Finish()),
-              aos::RawSender::Error::kOk);
+    ASSERT_EQ(builder.Send(goal_builder.Finish()), aos::RawSender::Error::kOk);
   }
   RunFor(chrono::seconds(10));
 
@@ -1284,8 +1273,7 @@
     auto builder = superstructure_goal_sender_.MakeBuilder();
 
     Goal::Builder goal_builder = builder.MakeBuilder<Goal>();
-    ASSERT_EQ(builder.Send(goal_builder.Finish()),
-              aos::RawSender::Error::kOk);
+    ASSERT_EQ(builder.Send(goal_builder.Finish()), aos::RawSender::Error::kOk);
   }
   {
     auto builder = superstructure_goal_sender_.MakeBuilder();
@@ -1317,8 +1305,7 @@
     goal_builder.add_shooter(shooter_offset);
     goal_builder.add_indexer(indexer_offset);
 
-    ASSERT_EQ(builder.Send(goal_builder.Finish()),
-              aos::RawSender::Error::kOk);
+    ASSERT_EQ(builder.Send(goal_builder.Finish()), aos::RawSender::Error::kOk);
   }
 
   RunFor(chrono::milliseconds(100));
@@ -1371,8 +1358,7 @@
     goal_builder.add_shooter(shooter_offset);
     goal_builder.add_indexer(indexer_offset);
 
-    ASSERT_EQ(builder.Send(goal_builder.Finish()),
-              aos::RawSender::Error::kOk);
+    ASSERT_EQ(builder.Send(goal_builder.Finish()), aos::RawSender::Error::kOk);
   }
 
   // Run disabled for 2 seconds
@@ -1442,8 +1428,7 @@
     goal_builder.add_indexer(indexer_offset);
     goal_builder.add_shooter(shooter_offset);
 
-    ASSERT_EQ(builder.Send(goal_builder.Finish()),
-              aos::RawSender::Error::kOk);
+    ASSERT_EQ(builder.Send(goal_builder.Finish()), aos::RawSender::Error::kOk);
   }
 
   RunFor(chrono::seconds(5));
@@ -1479,8 +1464,7 @@
     goal_builder.add_indexer(indexer_offset);
     goal_builder.add_shooter(shooter_offset);
 
-    ASSERT_EQ(builder.Send(goal_builder.Finish()),
-              aos::RawSender::Error::kOk);
+    ASSERT_EQ(builder.Send(goal_builder.Finish()), aos::RawSender::Error::kOk);
   }
 
   // Make sure we don't apply voltage on spin-down.
@@ -1526,8 +1510,7 @@
     goal_builder.add_indexer(indexer_offset);
     goal_builder.add_shooter(shooter_offset);
 
-    ASSERT_EQ(builder.Send(goal_builder.Finish()),
-              aos::RawSender::Error::kOk);
+    ASSERT_EQ(builder.Send(goal_builder.Finish()), aos::RawSender::Error::kOk);
   }
   RunFor(chrono::seconds(5));
   EXPECT_EQ(nullptr, superstructure_output_fetcher_.get());
@@ -1573,8 +1556,7 @@
     goal_builder.add_indexer(indexer_offset);
     goal_builder.add_shooter(shooter_offset);
 
-    ASSERT_EQ(builder.Send(goal_builder.Finish()),
-              aos::RawSender::Error::kOk);
+    ASSERT_EQ(builder.Send(goal_builder.Finish()), aos::RawSender::Error::kOk);
   }
 
   RunFor(chrono::seconds(5));
@@ -1676,8 +1658,7 @@
     goal_builder.add_indexer(indexer_offset);
     goal_builder.add_shooter(shooter_offset);
 
-    ASSERT_EQ(builder.Send(goal_builder.Finish()),
-              aos::RawSender::Error::kOk);
+    ASSERT_EQ(builder.Send(goal_builder.Finish()), aos::RawSender::Error::kOk);
   }
 
   RunFor(chrono::seconds(5));
diff --git a/y2017/control_loops/superstructure/superstructure_main.cc b/y2017/control_loops/superstructure/superstructure_main.cc
index f113477..42a5a23 100644
--- a/y2017/control_loops/superstructure/superstructure_main.cc
+++ b/y2017/control_loops/superstructure/superstructure_main.cc
@@ -1,7 +1,6 @@
-#include "y2017/control_loops/superstructure/superstructure.h"
-
 #include "aos/events/shm_event_loop.h"
 #include "aos/init.h"
+#include "y2017/control_loops/superstructure/superstructure.h"
 
 int main(int argc, char **argv) {
   ::aos::InitGoogle(&argc, &argv);
diff --git a/y2017/control_loops/superstructure/vision_distance_average_test.cc b/y2017/control_loops/superstructure/vision_distance_average_test.cc
index bc0fc9a..e1a406b 100644
--- a/y2017/control_loops/superstructure/vision_distance_average_test.cc
+++ b/y2017/control_loops/superstructure/vision_distance_average_test.cc
@@ -1,8 +1,9 @@
 #include "y2017/control_loops/superstructure/vision_distance_average.h"
 
-#include "aos/flatbuffers.h"
 #include "gtest/gtest.h"
 
+#include "aos/flatbuffers.h"
+
 namespace y2017 {
 namespace control_loops {
 namespace superstructure {
@@ -14,9 +15,7 @@
     return current_time_;
   }
 
-  VisionDistanceAverage* average() {
-    return &average_;
-  }
+  VisionDistanceAverage *average() { return &average_; }
 
   void TickInvalid() {
     flatbuffers::FlatBufferBuilder fbb;
@@ -43,9 +42,7 @@
     average_.Tick(tick_time(), &status.message());
   }
 
-  void TickNullptr() {
-    average_.Tick(tick_time(), nullptr); 
-  }
+  void TickNullptr() { average_.Tick(tick_time(), nullptr); }
 
  private:
   ::aos::monotonic_clock::time_point current_time_ =
diff --git a/y2017/control_loops/superstructure/vision_time_adjuster_test.cc b/y2017/control_loops/superstructure/vision_time_adjuster_test.cc
index 66c3627..125a960 100644
--- a/y2017/control_loops/superstructure/vision_time_adjuster_test.cc
+++ b/y2017/control_loops/superstructure/vision_time_adjuster_test.cc
@@ -1,11 +1,12 @@
 #include "y2017/control_loops/superstructure/vision_time_adjuster.h"
 
+#include "gtest/gtest.h"
+
 #include "aos/configuration.h"
 #include "aos/events/simulated_event_loop.h"
 #include "aos/testing/test_logging.h"
 #include "aos/time/time.h"
 #include "frc971/control_loops/drivetrain/drivetrain_status_generated.h"
-#include "gtest/gtest.h"
 #include "y2017/control_loops/drivetrain/drivetrain_dog_motor_plant.h"
 #include "y2017/vision/vision_generated.h"
 
