diff --git a/src/main.cpp b/src/main.cpp
index d5ef0f3579aac2a9f030d2dcbb038b8da36bf515..d4a7f3e4b2ce733328634e9b32680f56938a85c7 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -80,7 +80,6 @@ std_msgs::Bool bauStatusMsg;
 
 ros::Publisher teamStatusPub("team", &teamMsg);
 ros::Publisher buttonStatusPub("button_status", &buttonStatusMsg);
-ros::Publisher pullCordStatusPub("pull_cord_status", &pullCordStatusMsg);
 ros::Publisher bauStatusPub("BAU_status", &bauStatusMsg);
 ros::Publisher pullCordStatusPub("pull_cord_status", &pullCordStatusMsg);
 
@@ -91,10 +90,10 @@ void flagStatusChange(const std_msgs::Bool &flagStatusMsg);
 ros::Subscriber<std_msgs::Bool> flagStatusSub("flag_state", &flagStatusChange);
 
 void armStatusChange(const std_msgs::Bool &armStatusMsg);
-ros::Subscriber<std_msgs::Bool> flagStatusSub("flag_state", &armStatusChange);
+ros::Subscriber<std_msgs::Bool> armStateSub("arm_state", &armStatusChange);
 
 void bauSoftSet(const std_msgs::Bool &bauSoftSetMsg);
-ros::Subscriber<std_msgs::Bool> flagStatusSub("flag_state", &bauSoftSet);
+ros::Subscriber<std_msgs::Bool> bauSoftSub("bau_state", &bauSoftSet);
 
 // LCD screen
 LiquidCrystal_I2C lcd(0x27, 16, 2);
@@ -128,6 +127,9 @@ void setup()
   pinMode(buttonPin, INPUT_PULLUP);
   pinMode(buttonLedPin, OUTPUT);
 
+  pinMode(bauSoftPin, OUTPUT);
+  pinMode(bauStatusPin, INPUT);
+
   digitalWrite(buttonLedPin, HIGH);
 
   lcd.init();
@@ -144,6 +146,7 @@ void setup()
 
   nh.subscribe(estimatedScoreSub);
   nh.subscribe(flagStatusSub);
+  nh.subscribe(bauSoftSub);
 
   lcd.clear();
   lcd.setCursor(0, 0);
@@ -297,7 +300,4 @@ void loop()
   }
 
   digitalWrite(bauSoftPin, bauSoftStatus);
-
-
-  
-}
\ No newline at end of file
+}