 IPAddress timeServer(132, 163, 4, 101);     // time-a.timefreq.bldrdoc.gov NTP server
 // IPAddress timeServer(132, 163, 4, 102);  // time-b.timefreq.bldrdoc.gov NTP server
 // IPAddress timeServer(132, 163, 4, 103);  // time-c.timefreq.bldrdoc.gov NTP server
-const int NTP_PACKET_SIZE= 48;              // NTP time stamp is in the first 48 bytes of the message
-byte packetBuffer[ NTP_PACKET_SIZE];        //buffer to hold incoming and outgoing packets
 EthernetUDP Udp;                            // A UDP instance to let us send and receive packets over UDP
 unsigned long hoursSeconds = 0;             // Return variable for the get_Time function
 unsigned long timeDelay = 0;                // Counter to prevent time from getting retrieved too often
+const int timeZone = -5;                    // Eastern Standard Time (USA)
+time_t prevDisplay = 0;                     // TODO REMOVE _________________________________
+
+
+// --------------- NTP Variables ---------------
+const int NTP_PACKET_SIZE = 48;             // NTP time is in the first 48 bytes of message
+byte packetBuffer[NTP_PACKET_SIZE];         //buffer to hold incoming & outgoing packets
+
+
 
 
 // --------------- LCD Shield Variables ---------------

  packetBuffer[13]  = 0x4E;
  packetBuffer[14]  = 49;
  packetBuffer[15]  = 52;

  // all NTP fields have been given values, now
  // you can send a packet requesting a timestamp:         
  Udp.beginPacket(address, 123); //NTP requests are to port 123
  Udp.write(packetBuffer,NTP_PACKET_SIZE);
  Udp.endPacket();
}

// Returns:       Boolean, True if the temperature has changed, else False
// Description:   This function polls the temp sensors, retrieves the values, and then returns
// ----------------------------------------------------------------------------------------
int get_temp(){
  currentTemp = 0;
  long temp = 0;
  sensors.requestTemperatures(); // Send the command to the device to get temperatures
