diff --git a/BlinkenLights.ino b/BlinkenLights.ino
index f326fc09bb538c20be2b0582d724d5eb2827bb57..40df915270336e2f499f186af555989e61a6286c 100644
--- a/BlinkenLights.ino
+++ b/BlinkenLights.ino
@@ -1,13 +1,13 @@
 /**
- BlinkenLights
- 
- Code by Mitchell Pomery [BG3] with help from Andrew Adamson [BOB]
- Hardware by Andrew Adamson [BOB] with help from Mitchell Pomery [BG3]
- 
- Get the dates from the git commits.
- 
- The LED strip should be wired from the top left corner and zig zag down
- 
+ * BlinkenLights
+ * 
+ * Code by Mitchell Pomery [BG3] with help from Andrew Adamson [BOB]
+ * Hardware by Andrew Adamson [BOB] with help from Mitchell Pomery [BG3]
+ * 
+ * Get the dates from the git commits.
+ * 
+ * The LED strip should be wired from the top left corner and zig zag down
+ * 
  */
 
 ///TODO: Vary light pattern randomly
@@ -49,20 +49,62 @@ int position = 0; // How far through the cycle we are
 struct led ledArray[STRIPLENGTH]; // led array
 int lightOption = 1; // Which predefined light sequence we are running
 char brightness = (char) 128; //Brightness of the LEDs
-  // We seem to have issues at the moment putting this up to the maximum (255)
-  // Most likely due to the fact the LED strip is underpowered
+// We seem to have issues at the moment putting this up to the maximum (255)
+// Most likely due to the fact the LED strip is underpowered
 
 // Network Settings
-static uint8_t mac[] = { 0xC0, 0xCA, 0xC0, 0x1A, 0x19, 0x82 }; // C0CA C01A 1982
+static uint8_t mac[] = { 
+  0xC0, 0xCA, 0xC0, 0x1A, 0x19, 0x82 }; // C0CA C01A 1982
 IPAddress ip(130,95,13,96); // 130.95.13.96 (Can we forcefully take .82?
 // If we remove the ip address, we will automatically use DHCP
 
 // Set up our light strip
 Adafruit_NeoPixel strip = Adafruit_NeoPixel(STRIPLENGTH, PIN,
-  NEO_GRB + NEO_KHZ800);
+NEO_GRB + NEO_KHZ800);
 // Set up our webserver
 WebServer webserver(PREFIX, 80);
 
+
+
+// =========================== char-hex conversions ===========================
+
+char* charToHex(char c) {
+  char base_digits[16] =
+  {
+    '0', '1', '2', '3', '4', '5', '6', '7',
+    '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'  };
+
+  int converted_number[64];
+  int base = 16;
+  int next_digit, index=0;
+  int number_to_convert = (int) c + 128;
+
+  /* convert to the indicated base */
+  while (number_to_convert != 0)
+  {
+    converted_number[index] = number_to_convert % base;
+    number_to_convert = number_to_convert / base;
+    index++;
+  }
+  Serial.println(index);
+  /* now print the result in reverse order */
+  index--;  /* back up to last entry in the array */
+  
+  if (index < 0) {
+    Serial.print(base_digits[0]);
+  }
+  if (index < 1) {
+    Serial.print(base_digits[0]);
+  }
+  
+  for(; index>=0; index--) /* go backward through array */
+  {
+    Serial.print(base_digits[converted_number[index]]);
+  }
+  return (char) 0;
+}
+
+
 // ============================ LIGHT MANIPULATION ============================
 
 /**
@@ -169,7 +211,7 @@ char *url_tail, bool tail_complete) {
   URLPARAM_RESULT rc;
   char name[NAMELEN];
   char value[VALUELEN];
-  
+
   server.httpSuccess();
   // Kill the connection before doing anything if all they want is head
   if (type == WebServer::HEAD) {
@@ -181,11 +223,11 @@ char *url_tail, bool tail_complete) {
       if (rc != URLPARAM_EOS) {
         if (String(name).equals("seq")) {
           lightOption = atoi(value);
-          server.print(lightOption);
           position = 0;
         }
       }
     }
+    server.print(lightOption);
   }
   else {
     server.print("Unknown Request");
@@ -199,51 +241,51 @@ char *url_tail, bool tail_complete) {
  * @param url_tail      
  * @param tail_complete 
  */
-void webSetLED(WebServer &server, WebServer::ConnectionType type,
-char *url_tail, bool tail_complete) {
-  URLPARAM_RESULT rc;
-  char name[NAMELEN];
-  char value[VALUELEN];
-  int xPos = -1;
-  int yPos = -1;
-  int r = -1;
-  int g = -1;
-  int b = -1;
-  
-  server.httpSuccess();
-  // Kill the connection before doing anything if all they want is head
-  if (type == WebServer::HEAD) {
-    return;
-  }
-  else if (type == WebServer::GET) {
-    while (strlen(url_tail)) {
-      rc = server.nextURLparam(&url_tail, name, NAMELEN, value, VALUELEN);
-      if (rc != URLPARAM_EOS) {
-        if (String(name).equals("x")) {
-          xPos = atoi(value);
-        }
-        else if (String(name).equals("y")) {
-          yPos = atoi(value);
-        }
-        else if (String(name).equals("r")) {
-          r = atoi(value);
-        }
-        else if (String(name).equals("g")) {
-          g = atoi(value);
-        }
-        else if (String(name).equals("b")) {
-          b = atoi(value);
-        }
-      }
-    }
-  }
-  else {
-    server.print("Unknown");
-  }
-  if (xPos != -1 && yPos != -1 && r != -1 && g != -1 && b != -1) {
-    setLED(xPos, r, g, b);
-  }
-}
+/*void webSetLED(WebServer &server, WebServer::ConnectionType type,
+ char *url_tail, bool tail_complete) {
+ URLPARAM_RESULT rc;
+ char name[NAMELEN];
+ char value[VALUELEN];
+ int xPos = -1;
+ int yPos = -1;
+ int r = -1;
+ int g = -1;
+ int b = -1;
+ 
+ server.httpSuccess();
+ // Kill the connection before doing anything if all they want is head
+ if (type == WebServer::HEAD) {
+ return;
+ }
+ else if (type == WebServer::GET) {
+ while (strlen(url_tail)) {
+ rc = server.nextURLparam(&url_tail, name, NAMELEN, value, VALUELEN);
+ if (rc != URLPARAM_EOS) {
+ if (String(name).equals("x")) {
+ xPos = atoi(value);
+ }
+ else if (String(name).equals("y")) {
+ yPos = atoi(value);
+ }
+ else if (String(name).equals("r")) {
+ r = atoi(value);
+ }
+ else if (String(name).equals("g")) {
+ g = atoi(value);
+ }
+ else if (String(name).equals("b")) {
+ b = atoi(value);
+ }
+ }
+ }
+ }
+ else {
+ server.print("Unknown");
+ }
+ if (xPos != -1 && yPos != -1 && r != -1 && g != -1 && b != -1) {
+ setLED(xPos, r, g, b);
+ }
+ }*/
 
 /**
  * Set the brightness to a specific magnitude
@@ -257,7 +299,7 @@ char *url_tail, bool tail_complete) {
   URLPARAM_RESULT rc;
   char name[NAMELEN];
   char value[VALUELEN];
-  
+
   //server.print("Access-Control-Allow-Origin: *");
   server.httpSuccess("application/json", "Access-Control-Allow-Origin: *");
   // Kill the connection before doing anything if all they want is head
@@ -270,11 +312,12 @@ char *url_tail, bool tail_complete) {
       if (rc != URLPARAM_EOS) {
         if (String(name).equals("bright")) {
           strip.setBrightness(atoi(value));
-          server.print(atoi(value));
           strip.show();
         }
       }
     }
+    server.print((int) brightness);
+    Serial.println((int) brightness);
   }
   else {
     server.print("Unknown");
@@ -365,19 +408,19 @@ void theaterChaseRainbow(uint8_t wait) {
   ///TODO: stop this blocking. Somehow
   int outOf = 256;
   for (int q=0; q < 3; q++) {
-      for (int i=0; i < strip.numPixels(); i=i+3) {
-        // turn every third pixel on
-        strip.setPixelColor(i+q, Wheel( (i+position) % 255));
-      }
-      strip.show();
-     
-      delay(wait);
-     
-      for (int i=0; i < strip.numPixels(); i=i+3) {
-        strip.setPixelColor(i+q, 0); // turn every third pixel off
-      }
+    for (int i=0; i < strip.numPixels(); i=i+3) {
+      // turn every third pixel on
+      strip.setPixelColor(i+q, Wheel( (i+position) % 255));
+    }
+    strip.show();
+
+    delay(wait);
+
+    for (int i=0; i < strip.numPixels(); i=i+3) {
+      strip.setPixelColor(i+q, 0); // turn every third pixel off
+    }
   }
-  
+
   position++;
   if (position >= outOf) {
     position = 0;
@@ -392,13 +435,15 @@ void theaterChaseRainbow(uint8_t wait) {
  */
 uint32_t Wheel(byte WheelPos) {
   if(WheelPos < 85) {
-   return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
-  } else if(WheelPos < 170) {
-   WheelPos -= 85;
-   return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);
-  } else {
-   WheelPos -= 170;
-   return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);
+    return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
+  } 
+  else if(WheelPos < 170) {
+    WheelPos -= 85;
+    return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);
+  } 
+  else {
+    WheelPos -= 170;
+    return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);
   }
 }
 
@@ -416,7 +461,7 @@ void setup() {
   // Set up webpages
   webserver.setDefaultCommand(&webSetSequence);
   webserver.addCommand("custom", &webSetSequence);
-  webserver.addCommand("individual", &webSetLED);
+  //webserver.addCommand("individual", &webSetLED);
   webserver.addCommand("brightness", &webSetBrightness);
   // Start Webserver
   webserver.begin();
@@ -426,7 +471,16 @@ void setup() {
     ledArray[i].green = (char) 128;
     ledArray[i].blue = (char) 128;
   }
-  
+
+  for (int i = -128; i < 128; i++) {
+    Serial.print(i);
+    Serial.print(" ");
+    //Serial.print((char) i);
+    Serial.print(" ");
+    charToHex((char) i);
+    Serial.println("");
+  }
+
   // Start Lights
   strip.begin();
   strip.setBrightness(128);
@@ -442,36 +496,37 @@ void loop()
   if (lightOption > NUMSEQUENCES) {
     //lightOption = 1;
   }
-  
+
   // Run our light sequence after checking for we requests
   ///TODO: Make these switches nicer
   switch (lightOption) {
-    case 0: // Don't change the lights at all
-      break;
-    case 1: // RainbowCycle
-      rainbowCycle(20);
-      break;
+  case 0: // Don't change the lights at all
+    break;
+  case 1: // RainbowCycle
+    rainbowCycle(20);
+    break;
     // Cycling through LED Sequences
-    case 11:
-      colourWipe(strip.Color(red, green, blue), 50);
-      Serial.println("ColourWipe");
-      break;
-    case 12:
-      rainbow(20);
-      break;
-    case 13:
-      rainbowCycle(20);
-      break;
-    case 14:
-      theaterChaseRainbow(20);
-      break;
-    default: // Go back to cycling
-      lightOption = 11;
-      break;
+  case 11:
+    colourWipe(strip.Color(red, green, blue), 50);
+    Serial.println("ColourWipe");
+    break;
+  case 12:
+    rainbow(20);
+    break;
+  case 13:
+    rainbowCycle(20);
+    break;
+  case 14:
+    theaterChaseRainbow(20);
+    break;
+  default: // Go back to cycling
+    lightOption = 11;
+    break;
   }
-  
+
   // Show our lights
   if (position == 0 && lightOption > 10) { // if we have completed a sequence, move to the next one
     lightOption++;
   }
 }
+