diff --git a/y2023/control_loops/drivetrain/BUILD b/y2023/control_loops/drivetrain/BUILD
index 521fc09..063e972 100644
--- a/y2023/control_loops/drivetrain/BUILD
+++ b/y2023/control_loops/drivetrain/BUILD
@@ -162,6 +162,7 @@
         "//y2023/constants:constants_fbs",
         "//y2023/control_loops/superstructure:superstructure_position_fbs",
         "//y2023/control_loops/superstructure:superstructure_status_fbs",
+        "//y2023/vision:game_pieces_fbs",
     ],
 )
 
diff --git a/y2023/control_loops/drivetrain/target_selector.cc b/y2023/control_loops/drivetrain/target_selector.cc
index aacfbbf..16a0090 100644
--- a/y2023/control_loops/drivetrain/target_selector.cc
+++ b/y2023/control_loops/drivetrain/target_selector.cc
@@ -3,6 +3,7 @@
 #include "aos/containers/sized_array.h"
 #include "frc971/shooter_interpolation/interpolation.h"
 #include "y2023/control_loops/superstructure/superstructure_position_generated.h"
+#include "y2023/vision/game_pieces_generated.h"
 
 namespace y2023::control_loops::drivetrain {
 namespace {
@@ -15,7 +16,8 @@
     : joystick_state_fetcher_(
           event_loop->MakeFetcher<aos::JoystickState>("/aos")),
       hint_fetcher_(event_loop->MakeFetcher<TargetSelectorHint>("/drivetrain")),
-      superstructure_status_fetcher_(event_loop->MakeFetcher<superstructure::Status>("/superstructure")),
+      superstructure_status_fetcher_(
+          event_loop->MakeFetcher<superstructure::Status>("/superstructure")),
       status_sender_(
           event_loop->MakeSender<TargetSelectorStatus>("/drivetrain")),
       constants_fetcher_(event_loop) {
@@ -33,12 +35,14 @@
             LateralOffsetForTimeOfFlight(msg.cone_position());
       });
 
-  event_loop->AddPhasedLoop([this](int){
-      auto builder = status_sender_.MakeBuilder();
-      auto status_builder = builder.MakeBuilder<TargetSelectorStatus>();
-      status_builder.add_game_piece_position(game_piece_position_);
-      builder.CheckOk(builder.Send(status_builder.Finish()));
-      }, std::chrono::milliseconds(100));
+  event_loop->AddPhasedLoop(
+      [this](int) {
+        auto builder = status_sender_.MakeBuilder();
+        auto status_builder = builder.MakeBuilder<TargetSelectorStatus>();
+        status_builder.add_game_piece_position(game_piece_position_);
+        builder.CheckOk(builder.Send(status_builder.Finish()));
+      },
+      std::chrono::milliseconds(100));
 }
 
 void TargetSelector::UpdateAlliance() {
@@ -180,10 +184,13 @@
   superstructure_status_fetcher_.Fetch();
   if (superstructure_status_fetcher_.get() != nullptr) {
     switch (superstructure_status_fetcher_->game_piece()) {
-      case superstructure::GamePiece::NONE:
-      case superstructure::GamePiece::CUBE:
+      case vision::Class::NONE:
+      case vision::Class::CUBE:
         return 0.0;
-      case superstructure::GamePiece::CONE:
+      case vision::Class::CONE_UP:
+        // execute logic below.
+        break;
+      case vision::Class::CONE_DOWN:
         // execute logic below.
         break;
     }
