Moved shooter to a subfolder.
diff --git a/frc971/atom_code/atom_code.gyp b/frc971/atom_code/atom_code.gyp
index 94aa065..ea1f8d2 100644
--- a/frc971/atom_code/atom_code.gyp
+++ b/frc971/atom_code/atom_code.gyp
@@ -8,8 +8,8 @@
         '../control_loops/control_loops.gyp:DriveTrain',
         '../control_loops/wrist/wrist.gyp:wrist',
         '../control_loops/wrist/wrist.gyp:wrist_lib_test',
-        '../control_loops/control_loops.gyp:shooter_lib_test',
-        '../control_loops/control_loops.gyp:shooter',
+        '../control_loops/shooter/shooter.gyp:shooter_lib_test',
+        '../control_loops/shooter/shooter.gyp:shooter',
         '../input/input.gyp:JoystickReader',
         '../input/input.gyp:SensorReader',
         '../input/input.gyp:GyroReader',
diff --git a/frc971/control_loops/control_loops.gyp b/frc971/control_loops/control_loops.gyp
index 0c71734..18df792 100644
--- a/frc971/control_loops/control_loops.gyp
+++ b/frc971/control_loops/control_loops.gyp
@@ -2,7 +2,6 @@
   'variables': {
     'loop_files': [
       'DriveTrain.q',
-      'shooter_motor.q',
     ]
   },
   'targets': [
@@ -38,48 +37,6 @@
       'includes': ['../../aos/build/queues.gypi'],
     },
     {
-      'target_name': 'shooter_lib',
-      'type': 'static_library',
-      'sources': [
-        'shooter.cc',
-        'shooter_motor_plant.cc',
-      ],
-      'dependencies': [
-        '<(AOS)/build/aos.gyp:libaos',
-        'control_loops',
-        '<(AOS)/common/common.gyp:controls',
-        '<(DEPTH)/frc971/frc971.gyp:common',
-        'state_feedback_loop',
-      ],
-    },
-    {
-      'target_name': 'shooter_lib_test',
-      'type': 'executable',
-      'sources': [
-        'shooter_lib_test.cc',
-      ],
-      'dependencies': [
-        '<(EXTERNALS):gtest',
-        '<(AOS)/build/aos.gyp:libaos',
-        'control_loops',
-        'shooter_lib',
-        '<(AOS)/common/common.gyp:queue_testutils',
-        'state_feedback_loop',
-      ],
-    },
-    {
-      'target_name': 'shooter',
-      'type': 'executable',
-      'sources': [
-        'shooter_main.cc',
-      ],
-      'dependencies': [
-        '<(AOS)/build/aos.gyp:libaos',
-        'shooter_lib',
-        'control_loops',
-      ],
-    },
-    {
       'target_name': 'DriveTrain',
       'type': 'executable',
       'sources': [
diff --git a/frc971/control_loops/shooter.cc b/frc971/control_loops/shooter/shooter.cc
similarity index 96%
rename from frc971/control_loops/shooter.cc
rename to frc971/control_loops/shooter/shooter.cc
index 3cb2415..cecf10f 100644
--- a/frc971/control_loops/shooter.cc
+++ b/frc971/control_loops/shooter/shooter.cc
@@ -1,11 +1,11 @@
-#include "frc971/control_loops/shooter.h"
+#include "frc971/control_loops/shooter/shooter.h"
 
 #include "aos/aos_core.h"
 
 #include "aos/common/control_loop/control_loops.q.h"
 #include "aos/common/logging/logging.h"
 
-#include "frc971/control_loops/shooter_motor_plant.h"
+#include "frc971/control_loops/shooter/shooter_motor_plant.h"
 
 namespace frc971 {
 namespace control_loops {
diff --git a/frc971/control_loops/shooter/shooter.gyp b/frc971/control_loops/shooter/shooter.gyp
new file mode 100644
index 0000000..710bcb9
--- /dev/null
+++ b/frc971/control_loops/shooter/shooter.gyp
@@ -0,0 +1,70 @@
+{
+  'targets': [
+    {
+      'target_name': 'shooter_loop',
+      'type': 'static_library',
+      'sources': ['shooter_motor.q'],
+      'variables': {
+        'header_path': 'frc971/control_loops/shooter',
+      },
+      'dependencies': [
+        '<(AOS)/build/aos.gyp:libaos',
+        '<(AOS)/common/common.gyp:control_loop_queues',
+        '<(AOS)/common/common.gyp:queues',
+      ],
+      'export_dependent_settings': [
+        '<(AOS)/build/aos.gyp:libaos',
+        '<(AOS)/common/common.gyp:control_loop_queues',
+        '<(AOS)/common/common.gyp:queues',
+      ],
+      'includes': ['../../../aos/build/queues.gypi'],
+    },
+    {
+      'target_name': 'shooter_lib',
+      'type': 'static_library',
+      'sources': [
+        'shooter.cc',
+        'shooter_motor_plant.cc',
+      ],
+      'dependencies': [
+        '<(AOS)/build/aos.gyp:libaos',
+        'shooter_loop',
+        '<(AOS)/common/common.gyp:controls',
+        '<(DEPTH)/frc971/frc971.gyp:common',
+        '<(DEPTH)/frc971/control_loops/control_loops.gyp:state_feedback_loop',
+      ],
+      'export_dependent_settings': [
+        '<(DEPTH)/frc971/control_loops/control_loops.gyp:state_feedback_loop',
+        '<(AOS)/common/common.gyp:controls',
+        'shooter_loop',
+      ],
+    },
+    {
+      'target_name': 'shooter_lib_test',
+      'type': 'executable',
+      'sources': [
+        'shooter_lib_test.cc',
+      ],
+      'dependencies': [
+        '<(EXTERNALS):gtest',
+        '<(AOS)/build/aos.gyp:libaos',
+        'shooter_loop',
+        'shooter_lib',
+        '<(AOS)/common/common.gyp:queue_testutils',
+        '<(DEPTH)/frc971/control_loops/control_loops.gyp:state_feedback_loop',
+      ],
+    },
+    {
+      'target_name': 'shooter',
+      'type': 'executable',
+      'sources': [
+        'shooter_main.cc',
+      ],
+      'dependencies': [
+        '<(AOS)/build/aos.gyp:libaos',
+        'shooter_lib',
+        'shooter_loop',
+      ],
+    },
+  ],
+}
diff --git a/frc971/control_loops/shooter.h b/frc971/control_loops/shooter/shooter.h
similarity index 91%
rename from frc971/control_loops/shooter.h
rename to frc971/control_loops/shooter/shooter.h
index 7358de2..77c605b 100644
--- a/frc971/control_loops/shooter.h
+++ b/frc971/control_loops/shooter/shooter.h
@@ -5,8 +5,8 @@
 
 #include "aos/common/control_loop/ControlLoop.h"
 #include "frc971/control_loops/state_feedback_loop.h"
-#include "frc971/control_loops/shooter_motor.q.h"
-#include "frc971/control_loops/shooter_motor_plant.h"
+#include "frc971/control_loops/shooter/shooter_motor.q.h"
+#include "frc971/control_loops/shooter/shooter_motor_plant.h"
 
 namespace frc971 {
 namespace control_loops {
diff --git a/frc971/control_loops/shooter_lib_test.cc b/frc971/control_loops/shooter/shooter_lib_test.cc
similarity index 97%
rename from frc971/control_loops/shooter_lib_test.cc
rename to frc971/control_loops/shooter/shooter_lib_test.cc
index c90f235..beb62f1 100644
--- a/frc971/control_loops/shooter_lib_test.cc
+++ b/frc971/control_loops/shooter/shooter_lib_test.cc
@@ -5,8 +5,8 @@
 #include "gtest/gtest.h"
 #include "aos/common/queue.h"
 #include "aos/common/queue_testutils.h"
-#include "frc971/control_loops/shooter_motor.q.h"
-#include "frc971/control_loops/shooter.h"
+#include "frc971/control_loops/shooter/shooter_motor.q.h"
+#include "frc971/control_loops/shooter/shooter.h"
 #include "frc971/constants.h"
 
 using ::aos::time::Time;
diff --git a/frc971/control_loops/shooter_main.cc b/frc971/control_loops/shooter/shooter_main.cc
similarity index 75%
rename from frc971/control_loops/shooter_main.cc
rename to frc971/control_loops/shooter/shooter_main.cc
index 513424c..72b820e 100644
--- a/frc971/control_loops/shooter_main.cc
+++ b/frc971/control_loops/shooter/shooter_main.cc
@@ -1,4 +1,4 @@
-#include "frc971/control_loops/shooter.h"
+#include "frc971/control_loops/shooter/shooter.h"
 
 #include "aos/aos_core.h"
 
diff --git a/frc971/control_loops/shooter_motor.q b/frc971/control_loops/shooter/shooter_motor.q
similarity index 100%
rename from frc971/control_loops/shooter_motor.q
rename to frc971/control_loops/shooter/shooter_motor.q
diff --git a/frc971/control_loops/shooter_motor_plant.cc b/frc971/control_loops/shooter/shooter_motor_plant.cc
similarity index 93%
rename from frc971/control_loops/shooter_motor_plant.cc
rename to frc971/control_loops/shooter/shooter_motor_plant.cc
index 7736075..c13ce2d 100644
--- a/frc971/control_loops/shooter_motor_plant.cc
+++ b/frc971/control_loops/shooter/shooter_motor_plant.cc
@@ -1,4 +1,4 @@
-#include "frc971/control_loops/shooter_motor_plant.h"
+#include "frc971/control_loops/shooter/shooter_motor_plant.h"
 
 #include "frc971/control_loops/state_feedback_loop.h"
 
diff --git a/frc971/control_loops/shooter/shooter_motor_plant.h b/frc971/control_loops/shooter/shooter_motor_plant.h
new file mode 100644
index 0000000..ac42b0b
--- /dev/null
+++ b/frc971/control_loops/shooter/shooter_motor_plant.h
@@ -0,0 +1,16 @@
+#ifndef FRC971_CONTROL_LOOPS_SHOOTER_SHOOTER_MOTOR_PLANT_H_
+#define FRC971_CONTROL_LOOPS_SHOOTER_SHOOTER_MOTOR_PLANT_H_
+
+#include "frc971/control_loops/state_feedback_loop.h"
+
+namespace frc971 {
+namespace control_loops {
+
+StateFeedbackPlant<2, 1, 1> MakeShooterPlant();
+
+StateFeedbackLoop<2, 1, 1> MakeShooterLoop();
+
+}  // namespace frc971
+}  // namespace control_loops
+
+#endif  // FRC971_CONTROL_LOOPS_SHOOTER_SHOOTER_MOTOR_PLANT_H_
diff --git a/frc971/control_loops/shooter_motor_plant.h b/frc971/control_loops/shooter_motor_plant.h
deleted file mode 100644
index 849c869..0000000
--- a/frc971/control_loops/shooter_motor_plant.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef FRC971_CONTROL_LOOPS_SHOOTER_MOTOR_PLANT_H_
-#define FRC971_CONTROL_LOOPS_SHOOTER_MOTOR_PLANT_H_
-
-#include "frc971/control_loops/state_feedback_loop.h"
-
-namespace frc971 {
-namespace control_loops {
-
-StateFeedbackPlant<2, 1, 1> MakeShooterPlant();
-
-StateFeedbackLoop<2, 1, 1> MakeShooterLoop();
-
-}  // namespace frc971
-}  // namespace control_loops
-
-#endif  // FRC971_CONTROL_LOOPS_SHOOTER_MOTOR_PLANT_H_