     }
     
     if (character == 'D' || character == 'd') {
-      int number = Serial.parseInt();
+      long number = Serial.parseInt();
       displayTime(number, 0);
     }
   }

}


void displayTime(int number, int decimal_places) {
  digitalWrite(LE,LOW);
  // calculate each digit for sending
  for (byte i=0; i<DIGITS; i++) {

    if (i == decimal_places) {
      // add decimal place if specified digit
      shiftOut(SDO, CLK, LSBFIRST, segments[output] | segments[10]);
    } else if (number == 0) {
      shiftOut(SDO, CLK, LSBFIRST, segments[11]);
    } else {
      shiftOut(SDO, CLK, LSBFIRST, segments[output]);
    }
