diff --git a/groundStation/.gitignore b/groundStation/.gitignore
index eedef6d30c2e030d1d5dbe4348c3d1330c14d679..508a8f243429591a76f612c87353c847358052e0 100644
--- a/groundStation/.gitignore
+++ b/groundStation/.gitignore
@@ -41,4 +41,4 @@ src/vrpn/pc_linux64/*
 logs
 BackEnd
 obj
-CLI
+Cli
diff --git a/groundStation/Makefile b/groundStation/Makefile
index 5f285d6b4b8d6d4ff94a4e76bafb2835f1b97354..9123a2455fe5743716377865f398de713d0cef6e 100644
--- a/groundStation/Makefile
+++ b/groundStation/Makefile
@@ -19,7 +19,7 @@ BECPPSOURCES := $(wildcard $(BESRCDIR)/*.cpp )
 BECPPOBJECTS = $(BECPPSOURCES:$(BESRCDIR)/%.cpp=$(OBJDIR)/%.o)
 
 # CLI Specific Variables
-CLIBINARY=CLI
+CLIBINARY=Cli
 CLISRCDIR=src/cli
 CLISOURCES := $(wildcard $(CLISRCDIR)/*.c)
 CLIOBJECTS = $(CLISOURCES:$(CLISRCDIR)/%.c=$(OBJDIR)/%.o)
@@ -38,7 +38,7 @@ all: logs objdir backend cli
 vrpn: vrpn/build
 
 cli:  $(CLIOBJECTS) $(FECOBJECTS)
-	$(GCC) $(CFLAGS) $^ -o $@ $(INCLUDES) $(LIBS)
+	$(GCC) $(CFLAGS) $^ -o $(CLIBINARY) $(INCLUDES) $(LIBS)
 
 $(CLIOBJECTS) : $(OBJDIR)/%.o : $(CLISRCDIR)/%.c
 	$(GCC)  $(CFLAGS) -c $^ -o $@ $(INCLUDES) $(LIBS)
@@ -70,7 +70,7 @@ clean_logs:
 	rm -f logs/*
 
 clean:
-	rm -rf $(OBJDIR)/ $(BEBINARY) $(CLIBINARIES)
+	rm -rf $(OBJDIR)/ $(BEBINARY) $(CLIBINARY)
 
 debug:
 	@echo $(OBJECTS)
diff --git a/groundStation/src/backend/backend.c b/groundStation/src/backend/backend.c
index 5815c758d97faea224564d7d2569db1108a8b19e..3164913674fb7f71b7460ad5d93868e719a06eb0 100644
--- a/groundStation/src/backend/backend.c
+++ b/groundStation/src/backend/backend.c
@@ -187,9 +187,12 @@ int main(int argc, char **argv)
 
 	// watch for input from stdin (fd 0) to see when it has input
 	safe_fd_set(fileno(stdin), &rfds_master, &max_fd);
-	// watch for input from the zybo socket
-	safe_fd_set(zyboSocket, &rfds_master, &max_fd);
 
+	if (!getenv(NOQUAD_ENV)) {
+		// watch for input from the zybo socket
+		safe_fd_set(zyboSocket, &rfds_master, &max_fd);
+
+	}
 	// Tell the quad we are ready to send it vrpn data
 	sendStartPacket();
 
@@ -383,6 +386,10 @@ int connectToZybo() {
 	int sock;
 	int status = 0;
 
+	if (getenv(NOQUAD_ENV)) {
+		return 0;
+	}
+
 	/* Use bluetooth by default */
 	if (!getenv(QUAD_WIFI_ENV)) {
 		printf("Using BT Settings\n");
diff --git a/groundStation/src/cli/cli.c b/groundStation/src/cli/cli.c
index b8ad2f7387173d59c862becd1d0d14d27c7b3bf8..17d9f8c8a865f9ae6f3705226cc53af54e161a06 100644
--- a/groundStation/src/cli/cli.c
+++ b/groundStation/src/cli/cli.c
@@ -4,8 +4,6 @@
 
 #include "cli.h"
 
-int connectToBackEnd();
-
 int main(int argc, char **argv)
 {
 	int cmdID = -1;
@@ -39,11 +37,14 @@ int main(int argc, char **argv)
 
 	printf("Parsed Command : %s\n", commandNames[cmdID]);
 	conn = ucart_backendConnect();
+	if(conn == NULL) {
+		return -1;
+	}
 
 	if(useSymlink) {
 		//TODO Call correct command function pointer with (argv[1] ... argc[argc])
 	}else {
-		(*cli_functions[0]) (conn, argc - 1, &argv[2]);
+		(*cli_functions[0]) (conn, argc-1, &argv[1]);
 	}
 
 	ucart_backendDisconnect(conn);
diff --git a/groundStation/src/cli/cli_getpid.c b/groundStation/src/cli/cli_getpid.c
index fb1c627c87070390217dd915149cc94cbd8e3dac..92e0fbf3bc6b63cbaf8687d6d17d028a48a7a259 100644
--- a/groundStation/src/cli/cli_getpid.c
+++ b/groundStation/src/cli/cli_getpid.c
@@ -31,7 +31,7 @@ int cli_getpid(struct backend_conn * conn,	int argc, char **argv) {
 			getAll = 1;
 		}
 	}
-	
+
 	int result;
 	if(getAll) {
 		pid_data.pid = ROLL;
diff --git a/groundStation/src/frontend/frontend_common.c b/groundStation/src/frontend/frontend_common.c
index 7b9f29dfde8ea1680169f6d0b484241a711ef026..81e0c2eef2e8bf2ab84378fde6e6a6be39c46130 100644
--- a/groundStation/src/frontend/frontend_common.c
+++ b/groundStation/src/frontend/frontend_common.c
@@ -43,12 +43,14 @@ struct backend_conn * ucart_backendConnect()
 		goto fail_final;
 	}
 
+
 	conn = malloc(sizeof(struct backend_conn));
 	if (conn == NULL) {
 		perror("malloc");
 		goto fail_sock;
 	}
 
+
 	conn->len = 0;
 	conn->buf = NULL;
 	conn->socket = fdopen(s, "rw");
diff --git a/groundStation/src/frontend/frontend_getpid.c b/groundStation/src/frontend/frontend_getpid.c
new file mode 100644
index 0000000000000000000000000000000000000000..8143f94006422f671e230d3213d4cd0bfb3ab74e
--- /dev/null
+++ b/groundStation/src/frontend/frontend_getpid.c
@@ -0,0 +1,20 @@
+#include "frontend_getpid.h"
+
+/* Get a specified PID.
+ *
+ * Example:
+ *
+ * struct frontend_pid_data pid_data;
+ * pid_data.pid = PITCH;
+ * if (frontend_getpid(conn, &pid_data)) {
+ * 		error
+ * } else {
+ * 		pid_data.p, pid_data.i, and pid_data.d are filled
+ * }
+ *
+ * Returns 0 on success, 1 on error
+ */
+int frontend_getpid(
+		struct backend_conn * conn, struct frontend_pid_data * pid_data) {
+	return 0;
+}
\ No newline at end of file