diff --git a/.gitignore b/.gitignore
index b830190ab96b549b0f9c7a216f2ac440eab08aaa..221a2fa7056e5584d9e37409d00b8be25d299854 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,6 @@
-library/
+[lL]ibrary/
 Temp/
 .vs/
 obj/
 *.sln
-*.csproj
\ No newline at end of file
+*.csproj
diff --git a/Assets/Scripts/EventSystem.cs b/Assets/Scripts/EventSystem.cs
new file mode 100644
index 0000000000000000000000000000000000000000..aeb877eef995e50e844a1e6b3e6b9cc23e2e36f1
--- /dev/null
+++ b/Assets/Scripts/EventSystem.cs
@@ -0,0 +1,25 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public static class EventSystem
+{
+    static Dictionary<EventType, List<IAction>> events = new Dictionary<EventType, List<IAction>>();
+
+
+    public static void AddEvent(EventType name, IAction target) {
+        if (!events.ContainsKey(name))
+            events.Add(name, new List<IAction>());
+        events[name].Add(target);
+    }
+
+    public static void EventHappened(EventType name)
+    {
+        if (events.ContainsKey(name))
+        {
+            foreach (IAction e in events.Values){
+                e.React();
+            }
+        }
+    }
+}
diff --git a/Assets/Scripts/EventSystem.cs.meta b/Assets/Scripts/EventSystem.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..dfe7177335d1ce8be10e2a1d335ee5e24854968d
--- /dev/null
+++ b/Assets/Scripts/EventSystem.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 8035379af60d7a344bf9033fff4a1f3f
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/EventType.cs b/Assets/Scripts/EventType.cs
new file mode 100644
index 0000000000000000000000000000000000000000..97a4e415c85f0dcddcfed26af0cf28022ffa2dc6
--- /dev/null
+++ b/Assets/Scripts/EventType.cs
@@ -0,0 +1,8 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public enum EventType
+{
+    TimePeriodChanged
+}
diff --git a/Assets/Scripts/EventType.cs.meta b/Assets/Scripts/EventType.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..deca5704e3fb321cf72d067859f8858d338f2f4e
--- /dev/null
+++ b/Assets/Scripts/EventType.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 173740ad07280db429023b38a0e230a7
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/IAction.cs b/Assets/Scripts/IAction.cs
new file mode 100644
index 0000000000000000000000000000000000000000..51d28e5826b152bd8c975595f26db6a644d36655
--- /dev/null
+++ b/Assets/Scripts/IAction.cs
@@ -0,0 +1,8 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public interface IAction
+{
+    void React();
+}
diff --git a/Assets/Scripts/IAction.cs.meta b/Assets/Scripts/IAction.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..8ecd36f7a7fe45b7251df0dd2a78b719095885ad
--- /dev/null
+++ b/Assets/Scripts/IAction.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 3804ff07da1145d4dafd154188b42f89
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Sprites/trees.png b/Assets/Sprites/trees.png
new file mode 100644
index 0000000000000000000000000000000000000000..bff73ee9c09b24351563ab5181b7acdb6b3b4654
Binary files /dev/null and b/Assets/Sprites/trees.png differ
diff --git a/Assets/Sprites/trees.png.meta b/Assets/Sprites/trees.png.meta
new file mode 100644
index 0000000000000000000000000000000000000000..abcdced146eeae11728555a79e1463da28105c1e
--- /dev/null
+++ b/Assets/Sprites/trees.png.meta
@@ -0,0 +1,267 @@
+fileFormatVersion: 2
+guid: c6be499253804b13b9d479f7394d8bd4
+TextureImporter:
+  fileIDToRecycleName:
+    21300000: trees_0
+    21300002: trees_1
+    21300004: trees_2
+    21300006: trees_3
+    21300008: trees_4
+    21300010: trees_5
+    21300012: trees_6
+    21300014: trees_7
+  externalObjects: {}
+  serializedVersion: 7
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 2
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  - serializedVersion: 2
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites:
+    - serializedVersion: 2
+      name: trees_0
+      rect:
+        serializedVersion: 2
+        x: 0
+        y: 0
+        width: 128
+        height: 128
+      alignment: 0
+      pivot: {x: 0, y: 0}
+      border: {x: 0, y: 0, z: 0, w: 0}
+      outline: []
+      physicsShape: []
+      tessellationDetail: 0
+      bones: []
+      spriteID: dbc074d7f6831d8bdb9865ebd94f3f1d
+      vertices: []
+      indices: 
+      edges: []
+      weights: []
+    - serializedVersion: 2
+      name: trees_1
+      rect:
+        serializedVersion: 2
+        x: 128
+        y: 0
+        width: 128
+        height: 128
+      alignment: 0
+      pivot: {x: 0, y: 0}
+      border: {x: 0, y: 0, z: 0, w: 0}
+      outline: []
+      physicsShape: []
+      tessellationDetail: 0
+      bones: []
+      spriteID: af82494974867b5ada202afa8dc5bb1e
+      vertices: []
+      indices: 
+      edges: []
+      weights: []
+    - serializedVersion: 2
+      name: trees_2
+      rect:
+        serializedVersion: 2
+        x: 256
+        y: 0
+        width: 128
+        height: 128
+      alignment: 0
+      pivot: {x: 0, y: 0}
+      border: {x: 0, y: 0, z: 0, w: 0}
+      outline: []
+      physicsShape: []
+      tessellationDetail: 0
+      bones: []
+      spriteID: deb6d54d174d6bac0a01eb5731fd8de4
+      vertices: []
+      indices: 
+      edges: []
+      weights: []
+    - serializedVersion: 2
+      name: trees_3
+      rect:
+        serializedVersion: 2
+        x: 384
+        y: 0
+        width: 128
+        height: 128
+      alignment: 0
+      pivot: {x: 0, y: 0}
+      border: {x: 0, y: 0, z: 0, w: 0}
+      outline: []
+      physicsShape: []
+      tessellationDetail: 0
+      bones: []
+      spriteID: 627d5e177309c8d06b8b038842ec8900
+      vertices: []
+      indices: 
+      edges: []
+      weights: []
+    - serializedVersion: 2
+      name: trees_4
+      rect:
+        serializedVersion: 2
+        x: 512
+        y: 0
+        width: 128
+        height: 128
+      alignment: 0
+      pivot: {x: 0, y: 0}
+      border: {x: 0, y: 0, z: 0, w: 0}
+      outline: []
+      physicsShape: []
+      tessellationDetail: 0
+      bones: []
+      spriteID: 6f57b9f5a1b5ff63bb6a10b3116ae2df
+      vertices: []
+      indices: 
+      edges: []
+      weights: []
+    - serializedVersion: 2
+      name: trees_5
+      rect:
+        serializedVersion: 2
+        x: 640
+        y: 0
+        width: 128
+        height: 128
+      alignment: 0
+      pivot: {x: 0, y: 0}
+      border: {x: 0, y: 0, z: 0, w: 0}
+      outline: []
+      physicsShape: []
+      tessellationDetail: 0
+      bones: []
+      spriteID: 7884e99752be575be87b7738f1791eb0
+      vertices: []
+      indices: 
+      edges: []
+      weights: []
+    - serializedVersion: 2
+      name: trees_6
+      rect:
+        serializedVersion: 2
+        x: 768
+        y: 0
+        width: 128
+        height: 128
+      alignment: 0
+      pivot: {x: 0, y: 0}
+      border: {x: 0, y: 0, z: 0, w: 0}
+      outline: []
+      physicsShape: []
+      tessellationDetail: 0
+      bones: []
+      spriteID: 49c30b08463c68a9dbad574a348fb23a
+      vertices: []
+      indices: 
+      edges: []
+      weights: []
+    - serializedVersion: 2
+      name: trees_7
+      rect:
+        serializedVersion: 2
+        x: 896
+        y: 0
+        width: 128
+        height: 128
+      alignment: 0
+      pivot: {x: 0, y: 0}
+      border: {x: 0, y: 0, z: 0, w: 0}
+      outline: []
+      physicsShape: []
+      tessellationDetail: 0
+      bones: []
+      spriteID: e242e72a6ee4f4e00add5e40f94d0f8f
+      vertices: []
+      indices: 
+      edges: []
+      weights: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: bcfa2c8778f00df7e946c8f00d71098b
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: