   if(p8 == 1) min_init += 2;
   
   if(p6 == 1 && p7 == 1 && p8 == 1)
-    subtract_1_min = true;
+    min_init -= 1;
 }
 
 void setup(){

  //reinitialize time setting booleans to false.
  reset_fast = false;
  reset_slow = false;
  add_2_mins = false;
  subtract_1_min = false;

  //get the time that the program has been running, to calculate time.
  mil = millis();
  
  //add this to determine if mil has counted 46 days and has reset.
  if(prev_mils != 0){
    if(prev_mils > mil){
      time_set = false;

int p1,p2,p3,p4,p5,p6,p7,p8 = 0;

//booleans for time setting purposes.
boolean time_set,reset_slow,reset_fast = false;

//call this function if a time set button is pressed.
void reset_init(){
  reset_mills = mil;

  //use current time setting as new initial values.
  hr_init = 0;
  min_init = 2;
  if(p1 == 1) hr_init = 4;
  if(p2 == 1) hr_init += 2;
  if(p3 == 1) hr_init += 1;
