  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  recString.reserve(200);
+ //seqSize = 0;
+ seqIndex = 0;
  Serial.println("-----Start-----");
- 
 }
 
 void loop() {
+  
   // put your main code here, to run repeatedly:
-  for (int i = 0; i < 4; i ++) {
-    if (digitalRead(btn[i]) == 1) {
-      digitalWrite(led[i], HIGH);
-      //Serial.print("LED ");
-      //Serial.print(i);
-      //Serial.print(" on    ");
-    }
-    else {
-      digitalWrite(led[i], LOW);
-      //Serial.print("LED ");
-      //Serial.print(i);
-      //Serial.print(" off    ");
-    }
-      
-  }
-  if (newAvail) {
-    //DO SOMETHING
-    recString = "";
-    newAvail = false;
-    
+  if (playerCreating)
+  {
+    for (int i = 0; i < 4; i ++) {
+      if (digitalRead(btn[i]) == 1) {
+        digitalWrite(led[i], HIGH);
+        //Serial.print("LED ");
+        //Serial.print(i);
+        //Serial.print(" on    ");
+      }
+      else {
+        digitalWrite(led[i], LOW);
+        //Serial.print("LED ");
+        //Serial.print(i);
+        //Serial.print(" off    ");
+      }    
+    }
+  }
+  
+  if (arduinoTurn) {
+    /*
+     Serial.println("ITS MY TURN!!");
+     Serial.print("seqIndex: ");
+     Serial.println(seqIndex);
+     Serial.print("seqSize: ");
+     Serial.println(seqSize);
+     */
+     
+     
+    //If sequence index is less than the length, we are still outputting the sequence
+    if((seqIndex < seqSize) && playerCreating == false){
+      //If an LED was on and change must be made
+      if (LEDon && (millis() - timeOfLastChange >= 1000))
+      {
+        digitalWrite(led[seqArr[seqIndex]], LOW);
+        LEDon = false;
+        seqIndex += 1;
+        if (seqIndex == seqSize)
+        {
+          playerCreating = true;
+          seqIndex = 0;
+          Serial.println("PLAYER, CREATE YOUR ENGINES");
+        }
+        timeOfLastChange = millis();        
+        
+      }
+      //LED is off and change must be made
+      else if (!LEDon && (millis() - timeOfLastChange >= 500))
+      {
+          Serial.print("Turning on LED ");
+          Serial.println(seqArr[seqIndex]);
+          
+          digitalWrite(led[seqArr[seqIndex]], HIGH);
+          LEDon = true;
+          timeOfLastChange = millis();
+      }
+      
+    }
+    else if (playerCreating && (seqIndex < seqSize))
+    {
+      //Check each button for change
+      for (int i = 0; i < 4; i ++)
+      {
+        if (!prevBtns[i] && digitalRead(btn[i]))
+        {
+          Serial.print("YOU'RE PRESSING BTN ");
+          Serial.println(i);
+          prevBtns[i] = true;
+        }
+        else if(prevBtns[i] && (digitalRead(btn[i]) == false))
+        {
+          prevBtns[i] = false;
+          seqArr[seqIndex] = i;
+          seqIndex += 1;
+          Serial.print("Added this button to sequence: ");
+          Serial.println(i);
+          if (seqIndex == seqSize)
+          {
+            Serial.println("YOU ARE DONE ENTERING. YOUR SEQUENCE:");
+            for (int i = 0; i < seqSize; i++)
+            {
+              Serial.println(seqArr[i]);
+            }
+            playerCreating = false;
+            //TAKE THIS OUT LATER
+            arduinoTurn = false;
+          }
+        }
+      }
+      
+    }
+    
+    
+     
+    
+    
+    
+    //arduinoTurn = false;
   }
   /*
   Serial.println(" ");

  {  
    char inChar = (char)Serial.read();
    recString += inChar;
    Serial.print("inChar: ");
    Serial.println(inChar);
    
    if (inChar == '|')
    {
      Serial.print("Char at 0: ");
      Serial.println(recString.charAt(0));
      int endIndex = recString.indexOf("|");
      if (endIndex == -1)
      {  

      //PROCESS SEQUENCE  
      }
      if (recString.charAt(0) == 's') {
        Serial.print("Received sequence containing this many digits: ");
        seqSize = (recString.length()-1)/2;
        Serial.println(seqSize);
        /*
        int* seq = new int[(recString.length()-1)/2];
        Serial.println(sizeof(*seq));
