 	}
 }
 
-#define	moveServoL(degrees, servoSpeed, wait, updateDisplay)	moveServo(servoL, widgetL, degrees, servoSpeed, wait, updateDisplay)
-#define	moveServoR(degrees, servoSpeed, wait, updateDisplay)	moveServo(servoR, widgetR, degrees, servoSpeed, wait, updateDisplay)
-#define	moveServoRot(degrees, servoSpeed, wait, updateDisplay)	moveServo(servoRot, widgetRot, degrees, servoSpeed, wait, updateDisplay)
-#define	moveServoHRot(degrees, servoSpeed, wait, updateDisplay)	moveServo(servoHRot, widgetHRot, degrees, servoSpeed, wait, updateDisplay)
-#define	moveServoH(degrees, servoSpeed, wait, updateDisplay)	moveServo(servoH, widgetH, degrees, servoSpeed, wait, updateDisplay)
-
-// ESP8266
-#define SSID		"ssid"
-#define PASSWORD	"password"
-#define SERVER_PORT	2222
-WIFI wifi;
-extern int8_t chlID;
+typedef struct servoMove {
+	void (*moveServoFuncPtr)(uint8_t, uint8_t, bool, bool);
+	uint8_t pos;
+	uint8_t servoSpeed;
+} servoMoves_t;
+
+#define MAX_CMD_SERVO_MOVES	5
+uint8_t servoMoveCount;
+bool servoMoveError;
+servoMoves_t servoMoves[MAX_CMD_SERVO_MOVES];
+
+// these are functions vs macros so we can use a function pointer during parsing
+void moveServoL(uint8_t degrees, uint8_t servoSpeed, bool wait, bool updateDisplay) {
+	moveServo(servoL, widgetL, degrees, servoSpeed, wait, updateDisplay);
+}
+void moveServoR(uint8_t degrees, uint8_t servoSpeed, bool wait, bool updateDisplay) {
+	moveServo(servoR, widgetR, degrees, servoSpeed, wait, updateDisplay);
+}
+void moveServoRot(uint8_t degrees, uint8_t servoSpeed, bool wait, bool updateDisplay) {
+	moveServo(servoRot, widgetRot, degrees, servoSpeed, wait, updateDisplay);
+}
+void moveServoHRot(uint8_t degrees, uint8_t servoSpeed, bool wait, bool updateDisplay) {
+	moveServo(servoHRot, widgetHRot, degrees, servoSpeed, wait, updateDisplay);
+}
+void moveServoH(uint8_t degrees, uint8_t servoSpeed, bool wait, bool updateDisplay) {
+	moveServo(servoH, widgetH, degrees, servoSpeed, wait, updateDisplay);
+}
 
 // helper functions
 void softwareReset(void) {


#include <VarSpeedServo.h>

#include "uartWIFI.h"

// MicroView
int SCREEN_WIDTH = uView.getLCDWidth();
int SCREEN_HEIGHT = uView.getLCDHeight();

	moveServoRot(defaultServoPos, servoSpeed, false, false);
	moveServoHRot(defaultServoPos, servoSpeed, false, false);
	moveServoH(defaultServoPos, servoSpeed, true, true);
}

/*
