diff --git a/y2012/control_loops/BUILD b/y2012/control_loops/BUILD
index 1cf6e97..ef4e03f 100644
--- a/y2012/control_loops/BUILD
+++ b/y2012/control_loops/BUILD
@@ -1,3 +1,5 @@
+load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")
+
 py_library(
     name = "python_init",
     srcs = ["__init__.py"],
@@ -5,3 +7,12 @@
     visibility = ["//visibility:public"],
     deps = ["//y2012:python_init"],
 )
+
+flatbuffer_cc_library(
+    name = "control_loop_fbs",
+    srcs = [
+        "control_loops.fbs",
+    ],
+    target_compatible_with = ["@platforms//os:linux"],
+    visibility = ["//y2012:__subpackages__"],
+)
diff --git a/y2012/control_loops/accessories/BUILD b/y2012/control_loops/accessories/BUILD
index 02a15f1..ee61511 100644
--- a/y2012/control_loops/accessories/BUILD
+++ b/y2012/control_loops/accessories/BUILD
@@ -11,8 +11,8 @@
     deps = [
         ":accessories_fbs",
         "//aos:init",
-        "//aos/controls:control_loop",
-        "//aos/controls:control_loop_fbs",
+        "//frc971/control_loops:control_loop",
+        "//y2012/control_loops:control_loop_fbs",
     ],
 )
 
diff --git a/y2012/control_loops/accessories/accessories.cc b/y2012/control_loops/accessories/accessories.cc
index 5627c7b..c71146e 100644
--- a/y2012/control_loops/accessories/accessories.cc
+++ b/y2012/control_loops/accessories/accessories.cc
@@ -1,30 +1,29 @@
-#include "y2012/control_loops/accessories/accessories_generated.h"
-
 #include "aos/events/shm_event_loop.h"
 #include "aos/init.h"
-#include "aos/controls/control_loop.h"
-#include "aos/controls/control_loops_generated.h"
+#include "frc971/control_loops/control_loop.h"
+#include "y2012/control_loops/accessories/accessories_generated.h"
+#include "y2012/control_loops/control_loops_generated.h"
 
 namespace y2012 {
 namespace control_loops {
 namespace accessories {
 
-class AccessoriesLoop : public ::aos::controls::ControlLoop<
+class AccessoriesLoop : public ::frc971::controls::ControlLoop<
                             Message, ::aos::control_loops::Position,
                             ::aos::control_loops::Status, Message> {
  public:
   explicit AccessoriesLoop(
       ::aos::EventLoop *event_loop,
       const ::std::string &name = ".y2012.control_loops.accessories_queue")
-      : ::aos::controls::ControlLoop<Message, ::aos::control_loops::Position,
-                                     ::aos::control_loops::Status, Message>(
+      : ::frc971::controls::ControlLoop<Message, ::aos::control_loops::Position,
+                                        ::aos::control_loops::Status, Message>(
             event_loop, name) {}
 
-  void RunIteration(
-      const Message *goal,
-      const ::aos::control_loops::Position * /*position*/,
-      ::aos::Sender<Message>::Builder *output,
-      ::aos::Sender<::aos::control_loops::Status>::Builder * /*status*/) override {
+  void RunIteration(const Message *goal,
+                    const ::aos::control_loops::Position * /*position*/,
+                    ::aos::Sender<Message>::Builder *output,
+                    ::aos::Sender<::aos::control_loops::Status>::Builder
+                        * /*status*/) override {
     if (output) {
       //*output = *goal;
       Message::Builder output_builder = output->MakeBuilder<Message>();
@@ -33,8 +32,8 @@
               goal->solenoids()->data(), 3);
       output_builder.add_solenoids(solenoid_offset);
       flatbuffers::Offset<flatbuffers::Vector<double>> stick_offset =
-          output->fbb()->template CreateVector<double>(
-              goal->sticks()->data(), 2);
+          output->fbb()->template CreateVector<double>(goal->sticks()->data(),
+                                                       2);
       output_builder.add_sticks(stick_offset);
 
       output_builder.Finish();
diff --git a/y2012/control_loops/control_loops.fbs b/y2012/control_loops/control_loops.fbs
new file mode 100644
index 0000000..be5b7db
--- /dev/null
+++ b/y2012/control_loops/control_loops.fbs
@@ -0,0 +1,24 @@
+namespace aos.control_loops;
+// This file defines basic messages for a Single Input Single Output (SISO)
+// control loop.
+
+table Goal {
+  goal:double (id: 0);
+}
+
+table Position {
+  position:double (id: 0);
+}
+
+table Output {
+  voltage:double (id: 0);
+}
+
+table Status {
+  done:bool (id: 0);
+}
+
+root_type Goal;
+root_type Position;
+root_type Output;
+root_type Status;
