diff --git a/include/components/components-generic.h b/include/components/components-generic.h
new file mode 100644
index 0000000000000000000000000000000000000000..f070a6d0291e1546db35fe4e43366737d7b9eb5f
--- /dev/null
+++ b/include/components/components-generic.h
@@ -0,0 +1,11 @@
+#ifndef __COMPONENTS__COMPONENT_GENERIC_H__
+#define __COMPONENTS__COMPONENT_GENERIC_H__
+
+class CComponentGeneric
+{
+	public:
+		CComponentGeneric();
+		~CComponentGeneric();
+};
+
+#endif // __COMPONENTS__COMPONENT_GENERIC_H__
diff --git a/include/entities/entity-generic.h b/include/entities/entity-generic.h
new file mode 100644
index 0000000000000000000000000000000000000000..433f6401e185b55a495437238a911fbbd7a14f5f
--- /dev/null
+++ b/include/entities/entity-generic.h
@@ -0,0 +1,15 @@
+#ifndef __ENTITIES__ENTITY_GENERIC_H
+#define __ENTITIES__ENTITY_GENERIC_H
+
+#include "logger.h"
+
+class EntityGeneric
+{
+	public:
+		EntityGeneric();
+		~EntityGeneric();
+	private:
+		Logger& _logger;
+};
+
+#endif // __ENTITIES__ENTITY_GENERIC_H
diff --git a/include/main.h b/include/main.h
index efab70116a5388e1c74ba9649b6a8dede035f864..239793a21e0ba0b025de9f46e8b192586c007fbc 100644
--- a/include/main.h
+++ b/include/main.h
@@ -15,5 +15,6 @@ enum GenerationMethod
 #include "world-map-3d.h"
 #include "chunk.h"
 #include "logger.h"
+#include "entities/entity-generic.h"
 
 #endif // MAIN_H
diff --git a/include/systems/system-core.h b/include/systems/system-core.h
new file mode 100644
index 0000000000000000000000000000000000000000..ab735f82d851c31c2e7e05661a1a28c0f3981943
--- /dev/null
+++ b/include/systems/system-core.h
@@ -0,0 +1,16 @@
+#ifndef __SYSTEMS__SYSTEM_CORE_H_
+#define __SYSTEMS__SYSTEM_CORE_H_
+
+#include "logger.h"
+
+class SystemsGeneric
+{
+
+	public:
+		SystemsGeneric();
+		~SystemsGeneric();
+	private:
+		Logger& _logger;
+};
+
+#endif // __SYSTEMS__SYSTEM_CORE_H_
diff --git a/src/components/components-generic.cpp b/src/components/components-generic.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..ca920c9abbe2914e6fc45ed4fe4d346892fb06dc
--- /dev/null
+++ b/src/components/components-generic.cpp
@@ -0,0 +1,4 @@
+#include "components/components-generic.h"
+
+CComponentGeneric::CComponentGeneric(){}
+CComponentGeneric::~CComponentGeneric(){}
diff --git a/src/entities/entity-generic.cpp b/src/entities/entity-generic.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..321371fd05f3c825413d84fefd51359da4702c9e
--- /dev/null
+++ b/src/entities/entity-generic.cpp
@@ -0,0 +1,6 @@
+#include "entities/entity-generic.h"
+
+EntityGeneric::EntityGeneric()
+	: _logger( Logger::instance() )
+{ this->_logger.info( "Generic Entity Created" ); }
+EntityGeneric::~EntityGeneric(){}
diff --git a/src/main.cpp b/src/main.cpp
index 8dd269cf3782d6e20de7be928efa8e850c43396d..a1382cd88c7f8d894040a2a79eabc5b654cc245a 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -12,6 +12,7 @@ int main() {
 	state = Initialise;
 	// Seed the random number generator
 	srand(static_cast<unsigned int>(time(nullptr)));
+	std::vector< EntityGeneric* > entities;
 	
 	// Genrate a Random chunk
 	WorldHex2D map( 5 );
@@ -46,6 +47,12 @@ int main() {
 	}
 
 	// Clean-up
+	while( entities.size() > 0 )
+	{
+		EntityGeneric* entity = entities.back();
+		entities.pop_back();
+		delete entity;
+	}
 	
 	// Return 
 	logger.info( "Process Ending" );
diff --git a/src/systems/system-core.cpp b/src/systems/system-core.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..38775d1d48ab7d13181e0bcbf465432b25816dc9
--- /dev/null
+++ b/src/systems/system-core.cpp
@@ -0,0 +1,8 @@
+#include "systems/system-core.h"
+
+
+SystemsGeneric::SystemsGeneric()
+	: _logger( Logger::instance() )
+{ this->_logger.info( "Generic System Created" ); }
+SystemsGeneric::~SystemsGeneric()
+{ this->_logger.info( "Generic System Deleted" ); }