 
 }
 
-void heartBeat(){
-  uint8_t ledPin = 13;
-  pinMode(ledPin, OUTPUT);
-  digitalWrite(ledPin, HIGH);
-  delay(100);
-  digitalWrite(ledPin, LOW);
-  delay(100);
-  digitalWrite(ledPin, HIGH);
-  delay(100);
-  digitalWrite(ledPin, LOW);
-
-}
+
+void heartBeat(unsigned long mSeconds, int hbInterval){
+  static unsigned long oldTime;
+  if(mSeconds - oldTime > hbInterval){
+    uint8_t ledPin = 13;
+    pinMode(ledPin, OUTPUT);
+    digitalWrite(ledPin, HIGH);
+    delay(100);
+    digitalWrite(ledPin, LOW);
+    delay(100);
+    digitalWrite(ledPin, HIGH);
+    delay(100);
+    digitalWrite(ledPin, LOW);
+    oldTime = mSeconds;
+  }
+}
+
+void get


int getMarkovSpeed(int oldSpeed){
  int val = random(101);

  if(oldSpeed == 1){
    if(val < 20){

  }

  else if(random(100001) < 10){
    sleep(30*60, 40*60);
  }

  laser.fire(1);
