diff --git a/Assets/Scenes/MainScene.meta b/Assets/Scenes/MainScene.meta
deleted file mode 100644
index fad139c12cfcbabc8dcc5959d24c3f7fab5f775b..0000000000000000000000000000000000000000
--- a/Assets/Scenes/MainScene.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 829c46be4b50d504a8fd053e72cf24e3
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Assets/Scripts/NewBehaviourScript.cs b/Assets/Scripts/BerryBush.cs
similarity index 72%
rename from Assets/Scripts/NewBehaviourScript.cs
rename to Assets/Scripts/BerryBush.cs
index 0549f647e439df0f1eb4a7b17d450279cf74c316..41be4922af2e3138dbc4989e84a2611440528340 100644
--- a/Assets/Scripts/NewBehaviourScript.cs
+++ b/Assets/Scripts/BerryBush.cs
@@ -2,8 +2,14 @@
 using System.Collections.Generic;
 using UnityEngine;
 
-public class NewBehaviourScript : MonoBehaviour
+public class BerryBush : Resource
 {
+
+    public override void checkExistence()
+    {
+        
+    }
+
     // Start is called before the first frame update
     void Start()
     {
diff --git a/Assets/Scripts/NewBehaviourScript.cs.meta b/Assets/Scripts/BerryBush.cs.meta
similarity index 83%
rename from Assets/Scripts/NewBehaviourScript.cs.meta
rename to Assets/Scripts/BerryBush.cs.meta
index a6fa2a8111d55b06cef7ef6d9d7d9b0fa36d9e3d..282ca4e9b3fd51853de64497b51400b7a2c9e1f4 100644
--- a/Assets/Scripts/NewBehaviourScript.cs.meta
+++ b/Assets/Scripts/BerryBush.cs.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: d3674a5cdecf6e14abe5d88e6f0f7618
+guid: fa5bb155b8732f34994d234d1a214353
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2
diff --git a/Assets/Scripts/Forest.cs b/Assets/Scripts/Forest.cs
new file mode 100644
index 0000000000000000000000000000000000000000..2900ac7740441b0132a1a32665fa3602033cc574
--- /dev/null
+++ b/Assets/Scripts/Forest.cs
@@ -0,0 +1,91 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class Forest : Resource
+{
+    private bool isForester;
+    private float growthspeed;
+
+    public void setForester(bool i)
+    {
+        isForester = i;
+        if (isForester == true)
+        {
+            growthspeed = 0.5f;
+        }
+        else
+        {
+            growthspeed = 1;
+        }
+    }
+
+    public void refreshSprite()
+    {
+        if (resources < 125)
+        {
+            //yhden puun sprite
+        }
+        else if (resources < 250)
+        {
+            //2 sprite
+        }
+        else if (resources < 375)
+        {
+
+        }
+        else if (resources < 500)
+        {
+
+        }
+        else if (resources < 625)
+        {
+
+        }
+        else if (resources < 750)
+        {
+
+        }
+        else if (resources < 875)
+        {
+
+        }
+        else
+        {
+
+        }
+    }
+
+    public override void checkExistence()
+    {
+        if (resources < 1)
+        {
+            Destroy(gameObject);
+        }
+    }
+
+    // Start is called before the first frame update
+    void Start()
+    {
+        resources = Random.Range(50, 300);
+        isForester = false;
+        growthspeed = 1;
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        checkExistence();
+        StartCoroutine("Grow");
+        refreshSprite();
+    }
+
+    IEnumerator Grow()
+    {
+        yield return new WaitForSeconds(growthspeed);
+        while (resources < 1000)
+        {
+            resources++;
+        }
+    }
+}
diff --git a/Assets/Scripts/Forest.cs.meta b/Assets/Scripts/Forest.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..3c4d35b48683fca1695525844c076fcbf8753368
--- /dev/null
+++ b/Assets/Scripts/Forest.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: cb94cfa918a502245a4097b1749281ad
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/Outcrop.cs b/Assets/Scripts/Outcrop.cs
new file mode 100644
index 0000000000000000000000000000000000000000..1495d0668d7ae0fcccb24a001b26929c2fae4004
--- /dev/null
+++ b/Assets/Scripts/Outcrop.cs
@@ -0,0 +1,29 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class Outcrop : Resource
+{
+    public override void checkExistence()
+    {
+        if (resources < 1)
+        {
+            Destroy(gameObject);
+        }
+    }
+
+    // Start is called before the first frame update
+    void Start()
+    {
+        resources = 0;
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        if (resources == 100)
+        {
+            // luo Quarry -olio samaan pisteeseen kartalla ja tuhoa Outcrop -olio
+        }
+    }
+}
diff --git a/Assets/Scripts/Outcrop.cs.meta b/Assets/Scripts/Outcrop.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a22b51eca497ecb65ac5fcbc17f382798c4a94cc
--- /dev/null
+++ b/Assets/Scripts/Outcrop.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 35ded1978221bf847a4ec774ba1dc91c
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/Quarry.cs b/Assets/Scripts/Quarry.cs
new file mode 100644
index 0000000000000000000000000000000000000000..d15039e99536a88aa7b46b3bd239c40e6fca72c8
--- /dev/null
+++ b/Assets/Scripts/Quarry.cs
@@ -0,0 +1,26 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class Quarry : Resource
+{
+ 
+    public override void checkExistence()
+    {
+        if (resources < 1)
+        {
+            Destroy(gameObject);
+        }
+    }
+    // Start is called before the first frame update
+    void Start()
+    {
+        resources = Random.Range(2000, 4000);
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        
+    }
+}
diff --git a/Assets/Scripts/Quarry.cs.meta b/Assets/Scripts/Quarry.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..bfb8d5659b4eb98a13cf2a48ff7d7c72bad214dd
--- /dev/null
+++ b/Assets/Scripts/Quarry.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 23de19c4f52dce74cb534c58eddea6df
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/Resource.cs b/Assets/Scripts/Resource.cs
new file mode 100644
index 0000000000000000000000000000000000000000..0d341266ed5b7b091cf27f19b858719f7eb6595e
--- /dev/null
+++ b/Assets/Scripts/Resource.cs
@@ -0,0 +1,40 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public abstract class Resource : MonoBehaviour
+{
+    protected int resources;
+
+    public void setAmount(int i)
+    {
+        resources = i;
+    }
+
+    public int getAmount()
+    {
+        //r.setAmount(ref.getAmount() - extraction);
+        return resources;
+
+    }
+    
+    public int extractResource(int amount)
+    {
+        if (resources-amount < 0)
+        {
+            int r = resources;
+            resources = 0;
+            return r;
+        }
+        else
+        {
+            resources = resources - amount;
+            return amount;
+        }
+      
+    }
+
+
+    
+    public abstract void checkExistence();
+}
diff --git a/Assets/Scripts/Resource.cs.meta b/Assets/Scripts/Resource.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..c16ced8ea5183adbeb5058a3b2da032809e8e1a1
--- /dev/null
+++ b/Assets/Scripts/Resource.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: cd35c40904ffd144cb72afc7c3b5edc1
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: