       // save the current count so we can skip the loop next time
       lastLoopSatsInView = satellitesInView;
 
+//if (pps_loop > 0) {
+if (pps_loop != lastPulseValue) {
+    //convert GPS time to Epoch time
+    currentEpoch =  epochConverter(gps.date, gps.time);
+    // and display it on the LCD
+    printTime(currentEpoch);
+
+
+  // moving from interrupt to loop
+    if (pps_loop < 8) {
+      // update the LCD with "Sats in View: 06" or similar
+      printSats(satellitesInView); 
+    } else if ( (pps_loop == 8) || (pps_loop == 9) ) {
+      // updated LCD with year/month/day
+      printDate(currentEpoch);
+    } else if ( (pps_loop == 10) || (pps_loop == 11) ) {
+      if (DEBUG) {
+       // displayUptime();
+               lcd.setCursor(0, 1);
+        lcd.print(F("................"));
+       valueLightLevel = analogRead(photoTransistor);
+        updateLcdInt(1, valueLightLevel);
+      }
+    } else if ( pps_loop == 13) { // 13 is impossible, delete me.
+      clearScreen();
+      if (DEBUG) {
+        lcd.setCursor(0, 1);
+        lcd.print(F("................"));
+        //updateLcdInt(1, freeRam());
+      }
+    }
+        lastPulseValue = pps_loop;
+
+}
+    
       // this section updates the LCD if there isn't PPS.
       // otherwise, LCD updates happen from PPS so there aren't locking problems.
       if ( (satellitesInView == 2) || (satellitesInView == 3) ) {

int photoTransistor = A4;      // phototransistor. 4.7K
byte photoTransistorValue = 0 ;
byte lastPhotoTransistorValue;
volatile int valueLightLevel = 0;
// A4 and A5 for i2c
byte potentiometerTimezone = 0;     //  input pin for the TimeZone potentiometer // was 6 pre 010

      // finally reset what brought us here
      inConfMode = 0;
    }
    
    
    // first set the backlight color based on number of satellites
    if (gps.satellites.isValid()) { // true even with zero satellites, as in, true with NMEA sentences coming in
      satellitesInView = gps.satellites.value();
