         decodeHex(colorInput,rgb);
         setOutput(rgb);
 
-        if (DEBUGGING_MODE) {
+        printColors();
+
+        if (DEBUG) {
           Serial.println("Color set.  Results:");
-        }
-        // echo current colors:
-        Serial.print('#');
-        if (red<=16) {Serial.print('0');}
-        Serial.print(red, HEX);
-        if (green<=16) {Serial.print('0');}
-        Serial.print(green, HEX);
-        if (blue<=16) {Serial.print('0');}
-        Serial.println(blue, HEX);
-
-        if (DEBUGGING_MODE) {
           Serial.print("red: ");
           Serial.println(red, DEC);
           Serial.print("green: ");

      }
    case 'G' : {
        // run gradient pulse between a and b with appropriate timestep; "G#000000:#123456:time" input
        if (input[9]=='#') {
          char hex1[7], hex2[7];
          char timev[7]; //well our buffer is 7 chars now.
          for (int x=0; x<7; x++) {
            hex1[x]=input[x+1];
            hex2[x]=input[x+9];
            timev[x]=input[x+16];
          }
          int col1[4],col2[4];
          int *col1p[4] = {&col1[0],&col1[1],&col1[2]};
          int *col2p[4] = {&col2[0],&col2[1],&col2[2]};
          decodeHex(hex1,col1p);
          decodeHex(hex2,col2p);


        }
        break;
      }

      // begin debugging char commands
      

    }
  } else {
    // no input;
    if (timeOutCount > TIMEOUT) { // after TIMEOUT, flash randomly per second
      setOutput( random(255), random(255), random(255) ); // change to be nicer (1s gradients?)
    }


