diff --git a/client/client/src/main.cpp b/client/client/src/main.cpp
index 2dbc0660144d2f4b8c193559aae3624b536bfd66..2356891f844d1d0e9ef44eadb25d7ae8c30fcbff 100644
--- a/client/client/src/main.cpp
+++ b/client/client/src/main.cpp
@@ -15,6 +15,8 @@ void setup()
 
 	esp_err_t result = espnow_setup();
 
+	esptime::rtc = ESP32Time();
+
 	StaticJsonDocument<96> doc;
 
 	doc["sensor"] = "gps";
@@ -42,7 +44,7 @@ void loop()
 	//   resend_message->send();
 	//   delete resend_message;
 	// }
-	Serial.println("Current Time: " + (String) esptime::rtc.getMillis());
+	Serial.println(esptime::rtc.getMillis());
 	Serial.println("delaying...");
 	Serial.flush();
 	delay(5000);
diff --git a/host/fipy/lib/espnow.py b/host/fipy/lib/espnow.py
index 1e04f9bd393cff2917770eda5c66997d92442da9..6afe2a8b0c2d766e626dd864c493e6a3dd8ab6e7 100644
--- a/host/fipy/lib/espnow.py
+++ b/host/fipy/lib/espnow.py
@@ -1,22 +1,25 @@
 import network
 from network import ESPNOW
 import time
-# from lib.rtc_time import RTCTime
-
+from lib.rtc_time import RTCTime
 import struct
 
 w = network.WLAN()
 self_mac, sta = w.mac()
+peer_list = []
 
-class Forte_ESPNOW:    
+class Forte_ESPNOW:
     def __init__(self):
         ESPNOW.init()
-        p = ESPNOW.add_peer("58CF7904412C") # TODO: make management of peers dynamic (line 37)
         ESPNOW.on_recv(espnow_recv)
+    
+    def add_peer(mac):
+        peer_list.append(ESPNOW.add_peer(mac))
 
 def espnow_respond(mac):
-    msg = struct.pack("<6sl", self_mac, time.time() * 1000)
-    print(time.time() * 1000)
+    msg = struct.pack("<6sl", self_mac, time.time())
+    print(int(time.time()))
+
     ESPNOW.send(mac, msg)
     print("response sent")
 
@@ -26,15 +29,16 @@ def espnow_recv(result):
 
     data = bytes_to_data(msg)
     try:
-        print(data["amountData"])
-        print(data["timestamp"])
-        print(data["data"])
+        print("amount data: " + str(data["amountData"]))
+    #     print(data["timestamp"])
+    #     print(data["data"])
 
     except Exception as error:
         print(error)
 
-    # if(result not in ESPNOW.get_peers()):
-    #     ESPNOW.add_peer(mac)
+    if(peer not in peer_list):
+        Forte_ESPNOW.add_peer(mac)
+    
     espnow_respond(mac)
 
 def bytes_to_data(msg):
diff --git a/host/fipy/lib/rtc_time.py b/host/fipy/lib/rtc_time.py
new file mode 100644
index 0000000000000000000000000000000000000000..d57b3944d0e00847266b988349464009d3e0a971
--- /dev/null
+++ b/host/fipy/lib/rtc_time.py
@@ -0,0 +1,35 @@
+from time import sleep
+from machine import RTC
+
+
+class RTCTime:
+    # def __init__(
+    #     self,
+    #     main_ntp_server: str = "pool.ntp.org",
+    #     backup_ntp_server: str = "time.nist.gov",
+    #     update_interval_seconds: int = 3600,
+    # ):
+    #     self.rtc = RTC()
+    #     self._setup_ntp(main_ntp_server, backup_ntp_server, update_interval_seconds)
+    
+    
+    def __init__(self, datetime):
+        self.rtc = RTC()
+        self.rtc.init(datetime)
+
+    def _setup_ntp(
+        self, main_ntp_server: str, backup_ntp_server: str, update_interval_seconds: int
+    ):
+        print("Setting up NTP")
+        self.rtc.ntp_sync(main_ntp_server, update_interval_seconds, backup_ntp_server)
+        while not self.rtc.synced():
+            print(self.rtc.synced())
+            sleep(1)
+
+    
+
+    def get_time(self):
+        return self.rtc.now()
+
+    def is_synchronized(self):
+        return self.rtc.synced()
diff --git a/host/fipy/main.py b/host/fipy/main.py
index 272578419028d88e3fa599a5af01d3d521a6cf4f..020d027e0345c701725c418eade7e55179d05551 100644
--- a/host/fipy/main.py
+++ b/host/fipy/main.py
@@ -1,12 +1,9 @@
 # main.py -- put your code here!
-from network import WLAN
-from pycom import rgbled
 # from network import ESPNOW
-import binascii
-import struct
 from time import sleep
 from lib.server_transfer import DataTransferWiFi
 from lib.espnow import Forte_ESPNOW
+from lib.rtc_time import RTCTime
 
 # data = DataTransferWiFi()
 # data.connect("Z", "AbsoluteSandwich")
@@ -15,9 +12,8 @@ from lib.espnow import Forte_ESPNOW
 # )
 # data.disconnect()
 #
+rtc_time = RTCTime((2014, 5, 1, 4, 13, 0, 0, 0))
 espnow = Forte_ESPNOW()
-w = WLAN()
 while True:
-    rgbled(0x007f00)
     sleep(5)
     pass