diff --git a/bot3/control_loops/python/shooter.py b/bot3/control_loops/python/shooter.py
index 7cbe617..cc7930f 100755
--- a/bot3/control_loops/python/shooter.py
+++ b/bot3/control_loops/python/shooter.py
@@ -40,8 +40,10 @@
     self.C = numpy.matrix([[1, 0]])
     self.D = numpy.matrix([[0]])
 
-    self.ContinuousToDiscrete(self.A_continuous, self.B_continuous,
-                              self.dt, self.C)
+    self.A, self.B = self.ContinuousToDiscrete(self.A_continuous, self.B_continuous,
+                              self.dt)
+
+    self.InitializeState()
 
     self.PlaceControllerPoles([.6, .981])
 
@@ -77,7 +79,7 @@
   pylab.plot(range(shooter_data.shape[0]), real_x, label='Reality')
   pylab.plot(range(shooter_data.shape[0]), x_vel, label='Velocity')
   pylab.legend()
-  pylab.show()
+# pylab.show()
 
   # Simulate the closed loop response of the system to a step input.
   shooter = Shooter()
@@ -112,7 +114,7 @@
   #pylab.plot(pylab.linspace(0,1.99,200), close_loop_U, 'ro')
   #pylab.plotfile("shooter.csv", (0,2))
   pylab.plot(pylab.linspace(0,1.99,200), close_loop_x, 'ro')
-  pylab.show()
+# pylab.show()
 
   # Simulate spin down.
   spin_down_x = [];
diff --git a/bot3/control_loops/shooter/shooter_motor_plant.cc b/bot3/control_loops/shooter/shooter_motor_plant.cc
index 0617554..70f052d 100644
--- a/bot3/control_loops/shooter/shooter_motor_plant.cc
+++ b/bot3/control_loops/shooter/shooter_motor_plant.cc
@@ -1,17 +1,17 @@
-#include "bot3/control_loops/shooter/shooter_motor_plant.h"
+#include "frc971/control_loops/shooter/shooter_motor_plant.h"
 
 #include <vector>
 
 #include "frc971/control_loops/state_feedback_loop.h"
 
-namespace bot3 {
+namespace frc971 {
 namespace control_loops {
 
 StateFeedbackPlantCoefficients<2, 1, 1> MakeShooterPlantCoefficients() {
   Eigen::Matrix<double, 2, 2> A;
-  A << 1.0, 0.00992127884628, 0.0, 0.984297191531;
+  A << 1.0, 0.00994518845675, 0.0, 0.989057756738;
   Eigen::Matrix<double, 2, 1> B;
-  B << 0.00398899915072, 0.795700859132;
+  B << 0.00267091861198, 0.533205953514;
   Eigen::Matrix<double, 1, 2> C;
   C << 1, 0;
   Eigen::Matrix<double, 1, 1> D;
@@ -25,9 +25,9 @@
 
 StateFeedbackController<2, 1, 1> MakeShooterController() {
   Eigen::Matrix<double, 2, 1> L;
-  L << 1.08429719153, 29.2677479765;
+  L << 1.08905775674, 29.7111780621;
   Eigen::Matrix<double, 1, 2> K;
-  K << 0.955132813139, 0.50205697652;
+  K << 1.42534042426, 0.758151303088;
   return StateFeedbackController<2, 1, 1>(L, K, MakeShooterPlantCoefficients());
 }
 
@@ -44,4 +44,4 @@
 }
 
 }  // namespace control_loops
-}  // namespace bot3
+}  // namespace frc971
diff --git a/bot3/control_loops/shooter/shooter_motor_plant.h b/bot3/control_loops/shooter/shooter_motor_plant.h
index 1721d30..3588605 100644
--- a/bot3/control_loops/shooter/shooter_motor_plant.h
+++ b/bot3/control_loops/shooter/shooter_motor_plant.h
@@ -3,7 +3,7 @@
 
 #include "frc971/control_loops/state_feedback_loop.h"
 
-namespace bot3 {
+namespace frc971 {
 namespace control_loops {
 
 StateFeedbackPlantCoefficients<2, 1, 1> MakeShooterPlantCoefficients();
@@ -15,6 +15,6 @@
 StateFeedbackLoop<2, 1, 1> MakeShooterLoop();
 
 }  // namespace control_loops
-}  // namespace bot3
+}  // namespace frc971
 
 #endif  // FRC971_CONTROL_LOOPS_SHOOTER_SHOOTER_MOTOR_PLANT_H_
diff --git a/bot3/control_loops/update_shooter.sh b/bot3/control_loops/update_shooter.sh
new file mode 100755
index 0000000..db98547
--- /dev/null
+++ b/bot3/control_loops/update_shooter.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+#
+# Updates the shooter controller.
+
+./python/shooter.py shooter/shooter_motor_plant.h shooter/shooter_motor_plant.cc
