diff --git a/y2017_bot3/control_loops/drivetrain/BUILD b/y2017_bot3/control_loops/drivetrain/BUILD
index 679e4bf..08aaab2 100644
--- a/y2017_bot3/control_loops/drivetrain/BUILD
+++ b/y2017_bot3/control_loops/drivetrain/BUILD
@@ -77,6 +77,7 @@
     deps = [
         ":drivetrain_base",
         "//aos:init",
+        "//aos/events:shm-event-loop",
         "//frc971/control_loops/drivetrain:drivetrain_lib",
     ],
 )
diff --git a/y2017_bot3/control_loops/drivetrain/drivetrain_main.cc b/y2017_bot3/control_loops/drivetrain/drivetrain_main.cc
index f24b949..ac581eb 100644
--- a/y2017_bot3/control_loops/drivetrain/drivetrain_main.cc
+++ b/y2017_bot3/control_loops/drivetrain/drivetrain_main.cc
@@ -1,5 +1,6 @@
 #include "aos/init.h"
 
+#include "aos/events/shm-event-loop.h"
 #include "frc971/control_loops/drivetrain/drivetrain.h"
 #include "y2017_bot3/control_loops/drivetrain/drivetrain_base.h"
 
@@ -7,8 +8,10 @@
 
 int main() {
   ::aos::Init();
+  ::aos::ShmEventLoop event_loop;
   DrivetrainLoop drivetrain(
-      ::y2017_bot3::control_loops::drivetrain::GetDrivetrainConfig());
+      ::y2017_bot3::control_loops::drivetrain::GetDrivetrainConfig(),
+      &event_loop);
   drivetrain.Run();
   ::aos::Cleanup();
   return 0;
diff --git a/y2017_bot3/control_loops/superstructure/BUILD b/y2017_bot3/control_loops/superstructure/BUILD
index 17cfc20..9c9f750 100644
--- a/y2017_bot3/control_loops/superstructure/BUILD
+++ b/y2017_bot3/control_loops/superstructure/BUILD
@@ -1,47 +1,48 @@
-package(default_visibility = ['//visibility:public'])
+package(default_visibility = ["//visibility:public"])
 
-load('//aos/build:queues.bzl', 'queue_library')
+load("//aos/build:queues.bzl", "queue_library")
 
 queue_library(
-  name = 'superstructure_queue',
-  srcs = [
-    'superstructure.q',
-  ],
-  deps = [
-    '//aos/controls:control_loop_queues',
-    '//frc971/control_loops:profiled_subsystem_queue',
-    '//frc971/control_loops:queues',
-  ],
+    name = "superstructure_queue",
+    srcs = [
+        "superstructure.q",
+    ],
+    deps = [
+        "//aos/controls:control_loop_queues",
+        "//frc971/control_loops:profiled_subsystem_queue",
+        "//frc971/control_loops:queues",
+    ],
 )
 
 cc_library(
-  name = 'superstructure_lib',
-  srcs = [
-    'superstructure.cc',
-  ],
-  hdrs = [
-    'superstructure.h',
-  ],
-  deps = [
-    ':superstructure_queue',
-    '//aos/controls:control_loop',
-    '//aos/util:trapezoid_profile',
-    '//aos:math',
-    '//frc971/control_loops:profiled_subsystem',
-    '//frc971/control_loops:simple_capped_state_feedback_loop',
-    '//frc971/control_loops:state_feedback_loop',
-    '//frc971/zeroing',
-  ],
+    name = "superstructure_lib",
+    srcs = [
+        "superstructure.cc",
+    ],
+    hdrs = [
+        "superstructure.h",
+    ],
+    deps = [
+        ":superstructure_queue",
+        "//aos:math",
+        "//aos/controls:control_loop",
+        "//aos/util:trapezoid_profile",
+        "//frc971/control_loops:profiled_subsystem",
+        "//frc971/control_loops:simple_capped_state_feedback_loop",
+        "//frc971/control_loops:state_feedback_loop",
+        "//frc971/zeroing",
+    ],
 )
 
 cc_binary(
-  name = 'superstructure',
-  srcs = [
-    'superstructure_main.cc',
-  ],
-  deps = [
-    '//aos:init',
-    ':superstructure_lib',
-    ':superstructure_queue',
-  ],
+    name = "superstructure",
+    srcs = [
+        "superstructure_main.cc",
+    ],
+    deps = [
+        ":superstructure_lib",
+        ":superstructure_queue",
+        "//aos:init",
+        "//aos/events:shm-event-loop",
+    ],
 )
diff --git a/y2017_bot3/control_loops/superstructure/superstructure.cc b/y2017_bot3/control_loops/superstructure/superstructure.cc
index 1b91c69..e75ffed 100644
--- a/y2017_bot3/control_loops/superstructure/superstructure.cc
+++ b/y2017_bot3/control_loops/superstructure/superstructure.cc
@@ -8,10 +8,10 @@
 namespace control_loops {
 namespace superstructure {
 
-Superstructure::Superstructure(
-    control_loops::SuperstructureQueue *superstructure_queue)
-    : aos::controls::ControlLoop<control_loops::SuperstructureQueue>(
-          superstructure_queue) {}
+Superstructure::Superstructure(::aos::EventLoop *event_loop,
+                               const ::std::string &name)
+    : aos::controls::ControlLoop<control_loops::SuperstructureQueue>(event_loop,
+                                                                     name) {}
 
 void Superstructure::RunIteration(
     const control_loops::SuperstructureQueue::Goal *unsafe_goal,
diff --git a/y2017_bot3/control_loops/superstructure/superstructure.h b/y2017_bot3/control_loops/superstructure/superstructure.h
index 99a75e3..a9378eb 100644
--- a/y2017_bot3/control_loops/superstructure/superstructure.h
+++ b/y2017_bot3/control_loops/superstructure/superstructure.h
@@ -16,9 +16,9 @@
 class Superstructure
     : public ::aos::controls::ControlLoop<control_loops::SuperstructureQueue> {
  public:
-  explicit Superstructure(
-      control_loops::SuperstructureQueue *my_superstructure =
-          &control_loops::superstructure_queue);
+  explicit Superstructure(::aos::EventLoop *event_loop,
+                          const ::std::string &name =
+                              ".y2017_bot3.control_loops.superstructure_queue");
 
   static constexpr double kOperatingVoltage = 12.0;
 
diff --git a/y2017_bot3/control_loops/superstructure/superstructure_main.cc b/y2017_bot3/control_loops/superstructure/superstructure_main.cc
index 378b498..38df40e 100644
--- a/y2017_bot3/control_loops/superstructure/superstructure_main.cc
+++ b/y2017_bot3/control_loops/superstructure/superstructure_main.cc
@@ -4,7 +4,9 @@
 
 int main() {
   ::aos::Init();
-  ::y2017_bot3::control_loops::superstructure::Superstructure superstructure;
+  ::aos::ShmEventLoop event_loop;
+  ::y2017_bot3::control_loops::superstructure::Superstructure superstructure(
+      &event_loop);
   superstructure.Run();
   ::aos::Cleanup();
   return 0;
