diff --git a/GpsTracker/GpsTracker.ino b/GpsTracker/GpsTracker.ino
index b017f5f..0ced4ef 100644
--- a/GpsTracker/GpsTracker.ino
+++ b/GpsTracker/GpsTracker.ino
@@ -33,5 +33,5 @@ void loop() {
 		positions::send();
 	}
 
-	mainunit::deepSleep(10);
+	mainunit::deepSleep(10); //duration TBD
 }
diff --git a/GpsTracker/Hardware.cpp b/GpsTracker/Hardware.cpp
new file mode 100644
index 0000000..257cf7b
--- /dev/null
+++ b/GpsTracker/Hardware.cpp
@@ -0,0 +1,38 @@
+#include "Hardware.h"
+#include "Pins.h"
+
+#include <SIM808.h>
+
+namespace hardware {
+
+	namespace sim808 {
+		SoftwareSerial simSerial = SoftwareSerial(SIM_TX, SIM_RX);
+		SIM808 sim = SIM808(0, SIM_PWR, SIM_STATUS);
+		//idea : int powered
+		//gps::powerOn() => +1
+		//network::powerOn() => +1
+		//gps::powerOff() => -1
+		//network::powerOff() => -1
+
+		//sim808:powerOff() => force powerOff of both
+		//gps/network::powerOff() => powered == 1 => sim808::powerOff()
+		//idea : gps power on = +1, network power on = +1 => powerOff forces power off of all, powerOff one will lead to actual powerOff if 
+		void powerOn() {
+
+		}
+
+		void powerOff() {
+
+		}
+	}
+
+	namespace rtc {
+		void powerOn();
+		void powerOff();
+	}
+
+	namespace eeprom {
+		void powerOn();
+		void powerOff();
+	}
+}
\ No newline at end of file
diff --git a/GpsTracker/Hardware.h b/GpsTracker/Hardware.h
new file mode 100644
index 0000000..b8ef9da
--- /dev/null
+++ b/GpsTracker/Hardware.h
@@ -0,0 +1,23 @@
+#pragma once
+
+#include <SIM808.h>
+
+namespace hardware {
+
+	namespace sim808 {
+		extern SIM808 device;
+
+		void powerOn();
+		void powerOff();
+	}
+
+	namespace rtc {
+		void powerOn();
+		void powerOff();
+	}
+
+	namespace eeprom {
+		void powerOn();
+		void powerOff();
+	}
+}
\ No newline at end of file