     Serial.println("Message Invalid");
     return false;    
   }             
-  return extractTarget(R, G, B);
+  return true;
+}
+
+boolean extractRangeAndTarget(int* start,
+                              int* end,
+                              int numPixels,
+                              uint8_t* R,
+                              uint8_t* G,
+                              uint8_t* B) {
+  if (extractRange(start, end, numPixels)) {
+    return extractTarget(R, G, B);
+  } 
+  return false;
 }
 
 Adafruit_NeoPixel strip = Adafruit_NeoPixel(60, LED_PIN, NEO_GRB + NEO_KHZ800);

  return true;
}

boolean extractRangeAndTarget(int* start,
                              int* end,
                              int numPixels,
                              uint8_t* R,
                              uint8_t* G,
                              uint8_t* B) {
  *start = 0;
  *end = 0;
  char* next = strtok(nullptr," ");

const char* CLEAR_AND_RANGE = "clear+range";
const char* FADE = "fade";
const char* CYCLE = "cycle";
const char* FIRE = "fire";

#define FADE_COMMAND 1
#define FIRE_COMMAND 2

#define FIRE_RED 255
#define FIRE_GREEN 100
#define FIRE_BLUE 10

uint8_t current_R = 0;
uint8_t current_G = 0;
