fixes to make the new sensor stuff work
diff --git a/frc971/crio/main.cc b/frc971/crio/main.cc
index 649946b..85e2d45 100644
--- a/frc971/crio/main.cc
+++ b/frc971/crio/main.cc
@@ -1,3 +1,5 @@
+#include "aos/common/libstdc++/memory"
+
 #include "aos/crio/controls/ControlsManager.h"
 #include "aos/crio/motor_server/crio_control_loop_runner.h"
 #include "aos/common/sensors/sensor_broadcaster.h"
@@ -6,26 +8,34 @@
 #include "frc971/input/sensor_packer.h"
 #include "frc971/input/sensor_unpacker.h"
 
+using ::std::unique_ptr;
+
 namespace frc971 {
 
 class MyRobot : public ::aos::crio::ControlsManager {
  public:
-  MyRobot()
-      : broadcaster_(&packer_),
-        control_loop_runner_(&broadcaster_, &unpacker_) {}
+  MyRobot() {}
+
+  virtual void CreateObjects() {
+    packer_ = unique_ptr< ::frc971::SensorPacker>( new ::frc971::SensorPacker());
+    unpacker_ = unique_ptr< ::frc971::SensorUnpacker>( new ::frc971::SensorUnpacker());
+    broadcaster_ = unique_ptr< ::aos::sensors::SensorBroadcaster< ::frc971::sensor_values>>(
+        new ::aos::sensors::SensorBroadcaster< ::frc971::sensor_values>(packer_.get()));
+    control_loop_runner_ = unique_ptr< ::aos::crio::CRIOControlLoopRunner< ::frc971::sensor_values>>(new ::aos::crio::CRIOControlLoopRunner< ::frc971::sensor_values>(broadcaster_.get(), unpacker_.get()));
+  }
 
   virtual void RegisterControlLoops() {
-    //control_loop_runner_.AddControlLoop(&shooter_);
+    //control_loop_runner_->AddControlLoop(&shooter_);
   }
 
   virtual void StartSensorBroadcasters() {
-    broadcaster_.Start();
+    broadcaster_->Start();
   }
 
-  ::frc971::SensorPacker packer_;
-  ::frc971::SensorUnpacker unpacker_;
-  ::aos::sensors::SensorBroadcaster< ::frc971::sensor_values> broadcaster_;
-  ::aos::crio::CRIOControlLoopRunner< ::frc971::sensor_values>
+  unique_ptr< ::frc971::SensorPacker> packer_;
+  unique_ptr< ::frc971::SensorUnpacker> unpacker_;
+  unique_ptr< ::aos::sensors::SensorBroadcaster< ::frc971::sensor_values>> broadcaster_;
+  unique_ptr< ::aos::crio::CRIOControlLoopRunner< ::frc971::sensor_values>>
       control_loop_runner_;
 };