 	pinMode( LED_YELLOW, OUTPUT );
 	pinMode( LED_RED, OUTPUT );
 
-	blink(LED_GREEN, 2, 50);
+    blinkPrime( 0, 0, 0, 0 );
+    digitalWrite( LED_GREEN, LOW );
+    blinkPrime( 1, 100, 100, 900 );
+
+    for (int i=0;i<maxBlinkLoops;i++) {
+        Serial.print(blinkSpec[i][0]);
+        Serial.print(' ');
+        Serial.print(blinkSpec[i][1]);
+        Serial.print(' ');
+        Serial.print(blinkSpec[i][2]);
+        Serial.println(' ');
+    }
 }
 
 void loop() {
+	static unsigned long lasttime = 0;  
+	execLeds();
 	printMillis();
+	if (millis() - lasttime <= RED_DELAY) return;
+	lasttime = millis();
+    blinkPrime( 2, 5, 20, 20 );
 }

	Serial.print(", ");	
	Serial.print(millis());	
	Serial.print(" ");	
	blink(LED_RED, 3, 20, 40);
	count ++;
}


	return millis() / 1000;
}

/* blocking blink */
void blink(int led, int count, int length, int length_off=0) {
  for (int i=0;i<count;i++) {
    digitalWrite (led, HIGH);
