     ok = exec_score(tok);
   } else if (strcmp(cmd_name, "f") == 0) {
     ok = exec_flash(tok);
+  } else if (strcmp(cmd_name, "t") == 0) {
+    ok = exec_target(tok);
   } else if (strcmp(cmd_name, "p") == 0) {
     // the "ok" is the result
     ok = true;
   } else if (strcmp(cmd_name, "h") == 0) {
-    Serial.print("f(lash) s count ms\n");
+    Serial.print("f(lash) strip count ms\n");
     Serial.print("h(elp)\n");
-    Serial.print("s(core) s t # t # t #\n");
+    Serial.print("s(core) strip team # team # team #\n");
+    Serial.print("t(arget) team terr\n");
     Serial.print("p(ing)\n");
     ok = true;
   }

    score_strips[i] = new Adafruit_NeoPixel(SCORE_STRIP_LEDS, score_pins[i], NEO_GRB + NEO_KHZ800);    
    score_strips[i]->begin();
  }
  flash(*score_strips[0], Adafruit_NeoPixel::Color(0, 0, 0), 10, 20);
}

void loop() {

  return true;
}

boolean exec_target(char * tok) {
  // Read team number
  char * arg = strtok_r(NULL, " ", &tok);
  if (arg == NULL) {  
    Serial.print(e_team_required);
    return false;
  }
  int team = atoi(arg);
  if (team > 2) {
    Serial.print(e_team_nums);
    return false;
  }

  // Read territory number
  arg = strtok_r(NULL, " ", &tok);
  if (arg == NULL) {  
    Serial.print(e_territory_required);
    return false;
  }
  int territory = atoi(arg);
  if (territory > 3) {
    Serial.print(e_territory_nums);
    return false;
  }
  
  // Find the offset for the team's LED matrix
  byte start_led = team * TARGET_DIGIT_LEDS;
  for (int i = 0; i < TARGET_DIGIT_LEDS; i++) {
    byte * digit;
    switch (territory) {
      case 0:
        digit = digit_1;
        break;
      case 1:
        digit = digit_2;
        break;
      case 2:
        digit = digit_3;
        break;
      case 3:
        digit = digit_4;
        break;
      default:
        return false;
    }
    target_strip.setPixelColor(start_led + i, digit[i] ? team_colors[team] : 0);
  }
  target_strip.show();
  return true;
}

void flash(Adafruit_NeoPixel & strip, uint32_t color, byte times, unsigned long delay_ms) {
  uint32_t old_colors[SCORE_STRIP_LEDS];
  for (byte i = 0; i < SCORE_STRIP_LEDS; i++) {
