diff --git a/Assets/Prefab/FoodResource.prefab b/Assets/Prefab/FoodResource.prefab
index 37954173b999b0c1192680c789bd3b99319cfe00..16fec162eab2d6bf40554fd1bb489f785de57e43 100644
--- a/Assets/Prefab/FoodResource.prefab
+++ b/Assets/Prefab/FoodResource.prefab
@@ -93,6 +93,13 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: fa5bb155b8732f34994d234d1a214353, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+  sprites:
+  - {fileID: 21300000, guid: f85d51a973c87b04692395ace7bbb53d, type: 3}
+  - {fileID: 21300002, guid: f85d51a973c87b04692395ace7bbb53d, type: 3}
+  - {fileID: 21300004, guid: f85d51a973c87b04692395ace7bbb53d, type: 3}
+  - {fileID: 21300006, guid: f85d51a973c87b04692395ace7bbb53d, type: 3}
+  - {fileID: 21300008, guid: f85d51a973c87b04692395ace7bbb53d, type: 3}
+  - {fileID: 21300010, guid: f85d51a973c87b04692395ace7bbb53d, type: 3}
 --- !u!61 &5070108541231774712
 BoxCollider2D:
   m_ObjectHideFlags: 0
diff --git a/Assets/Prefab/WoodResource.prefab b/Assets/Prefab/WoodResource.prefab
index f8225feb1e148874c57c1cec61c1841e1985f68e..bdbac8470052847f56671c03ab060c469cd1004f 100644
--- a/Assets/Prefab/WoodResource.prefab
+++ b/Assets/Prefab/WoodResource.prefab
@@ -119,3 +119,13 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: cb94cfa918a502245a4097b1749281ad, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+  resources: 0
+  sprites:
+  - {fileID: 21300000, guid: c6be499253804b13b9d479f7394d8bd4, type: 3}
+  - {fileID: 21300002, guid: c6be499253804b13b9d479f7394d8bd4, type: 3}
+  - {fileID: 21300004, guid: c6be499253804b13b9d479f7394d8bd4, type: 3}
+  - {fileID: 21300006, guid: c6be499253804b13b9d479f7394d8bd4, type: 3}
+  - {fileID: 21300008, guid: c6be499253804b13b9d479f7394d8bd4, type: 3}
+  - {fileID: 21300010, guid: c6be499253804b13b9d479f7394d8bd4, type: 3}
+  - {fileID: 21300012, guid: c6be499253804b13b9d479f7394d8bd4, type: 3}
+  - {fileID: 21300014, guid: c6be499253804b13b9d479f7394d8bd4, type: 3}
diff --git a/Assets/Scripts/Resources/BerryBush.cs b/Assets/Scripts/Resources/BerryBush.cs
index 02598b25a51cf7ad0813c26e2e595e4d09af34bc..d8c6703ef7fd2829e4e2014508a81b242e5b5704 100644
--- a/Assets/Scripts/Resources/BerryBush.cs
+++ b/Assets/Scripts/Resources/BerryBush.cs
@@ -4,7 +4,6 @@ using UnityEngine;
 
 public class BerryBush : Resource
 {
-
     private float growthspeed;
 
     public override void checkExistence()
@@ -14,41 +13,45 @@ public class BerryBush : Resource
 
     public override void refreshSprite()
     {
-        if (resources < 100)
+        if (getAmount() < 100)
+        {
+            gameObject.GetComponent<SpriteRenderer>().sprite = sprites[5];
+        }
+        else if (getAmount() < 200)
         {
-            //1 marjan sprite
+            gameObject.GetComponent<SpriteRenderer>().sprite = sprites[4];
         }
-        else if (resources < 200)
+        else if (getAmount() < 300)
         {
-            //2 marjan sprite
+            gameObject.GetComponent<SpriteRenderer>().sprite = sprites[3];
         }
-        else if (resources < 300)
+        else if (getAmount() < 400)
         {
-            //3 marjan sprite
+            gameObject.GetComponent<SpriteRenderer>().sprite = sprites[2];
         }
-        else if (resources < 400)
+        else if (getAmount() < 500)
         {
-            //4 marjan sprite
+            gameObject.GetComponent<SpriteRenderer>().sprite = sprites[1];
         }
         else
         {
-            // 5 marjan sprite
+            gameObject.GetComponent<SpriteRenderer>().sprite = sprites[0];
         }
     }
 
     // Start is called before the first frame update
     void Start()
     {
-        resources = Random.Range(50, 200);
+        setAmount(Random.Range(50, 200));
         growthspeed = 1;
         StartCoroutine("Grow");
     }
 
     IEnumerator Grow()
     {
-        while (resources < 500)
+        while (getAmount() < 600)
         {
-            resources++;
+            setAmount(getAmount() + 1);
             yield return new WaitForSeconds(growthspeed);
         }
     }
diff --git a/Assets/Scripts/Resources/Forest.cs b/Assets/Scripts/Resources/Forest.cs
index 5677484cca9439018d29df7ab54acafc81fc2f8a..8e61b5b483ba33448f573bad481a8a4fc21b47e6 100644
--- a/Assets/Scripts/Resources/Forest.cs
+++ b/Assets/Scripts/Resources/Forest.cs
@@ -22,43 +22,43 @@ public class Forest : Resource
 
     public override void refreshSprite()
     {
-        if (resources < 125)
+        if (getAmount() < 125)
         {
-            //yhden puun sprite
+            gameObject.GetComponent<SpriteRenderer>().sprite = sprites[7];
         }
-        else if (resources < 250)
+        else if (getAmount() < 250)
         {
-            //2 sprite
+            gameObject.GetComponent<SpriteRenderer>().sprite = sprites[6];
         }
-        else if (resources < 375)
+        else if (getAmount() < 375)
         {
-
+            gameObject.GetComponent<SpriteRenderer>().sprite = sprites[5];
         }
-        else if (resources < 500)
+        else if (getAmount() < 500)
         {
-
+            gameObject.GetComponent<SpriteRenderer>().sprite = sprites[4];
         }
-        else if (resources < 625)
+        else if (getAmount() < 625)
         {
-
+            gameObject.GetComponent<SpriteRenderer>().sprite = sprites[3];
         }
-        else if (resources < 750)
+        else if (getAmount() < 750)
         {
-
+            gameObject.GetComponent<SpriteRenderer>().sprite = sprites[2];
         }
-        else if (resources < 875)
+        else if (getAmount() < 875)
         {
-
+            gameObject.GetComponent<SpriteRenderer>().sprite = sprites[1];
         }
         else
         {
-
+            gameObject.GetComponent<SpriteRenderer>().sprite = sprites[0];
         }
     }
 
     public override void checkExistence()
     {
-        if (resources < 1)
+        if (getAmount() < 1)
         {
             Destroy(gameObject);
         }
@@ -67,7 +67,8 @@ public class Forest : Resource
     // Start is called before the first frame update
     void Start()
     {
-        resources = Random.Range(50, 300);
+
+        setAmount(Random.Range(50, 300));
         isForester = false;
         growthspeed = 1;
         StartCoroutine("Grow");
@@ -81,9 +82,9 @@ public class Forest : Resource
 
     IEnumerator Grow()
     {
-        while (resources < 1000)
+        while (getAmount() < 1000)
         {
-            resources++;
+            setAmount(getAmount() + 1);
             yield return new WaitForSeconds(growthspeed);
         }
     }
diff --git a/Assets/Scripts/Resources/Outcrop.cs b/Assets/Scripts/Resources/Outcrop.cs
index 080ceb8c75e31e8a5287adcab5bbe11a3be8d4b8..0cbd2e5b09813033b29bd58fbca5413397f492ed 100644
--- a/Assets/Scripts/Resources/Outcrop.cs
+++ b/Assets/Scripts/Resources/Outcrop.cs
@@ -11,13 +11,13 @@ public class Outcrop : Resource
     // Start is called before the first frame update
     void Start()
     {
-        resources = 0;
+        setAmount(0);
     }
 
     // Update is called once per frame
     void Update()
     {
-        if (resources == 100)
+        if (getAmount() == 100)
         {
             // luo Quarry -olio samaan pisteeseen kartalla ja tuhoa Outcrop -olio
         }
diff --git a/Assets/Scripts/Resources/Quarry.cs b/Assets/Scripts/Resources/Quarry.cs
index 07199d7c4cfd739ab29be5bd2193e398464ed881..c96b955ed75496cbf6f9c1f8ccee737bdfde254b 100644
--- a/Assets/Scripts/Resources/Quarry.cs
+++ b/Assets/Scripts/Resources/Quarry.cs
@@ -7,7 +7,7 @@ public class Quarry : Resource
  
     public override void checkExistence()
     {
-        if (resources < 1)
+        if (getAmount() < 1)
         {
             Destroy(gameObject);
         }
@@ -15,13 +15,36 @@ public class Quarry : Resource
 
     public override void refreshSprite()
     {
-
+        if (getAmount() < 100)
+        {
+            gameObject.GetComponent<SpriteRenderer>().sprite = sprites[5];
+        }
+        else if (getAmount() < 200)
+        {
+            gameObject.GetComponent<SpriteRenderer>().sprite = sprites[4];
+        }
+        else if (getAmount() < 300)
+        {
+            gameObject.GetComponent<SpriteRenderer>().sprite = sprites[3];
+        }
+        else if (getAmount() < 400)
+        {
+            gameObject.GetComponent<SpriteRenderer>().sprite = sprites[2];
+        }
+        else if (getAmount() < 500)
+        {
+            gameObject.GetComponent<SpriteRenderer>().sprite = sprites[1];
+        }
+        else
+        {
+            gameObject.GetComponent<SpriteRenderer>().sprite = sprites[0];
+        }
     }
 
     // Start is called before the first frame update
     void Start()
     {
-        resources = Random.Range(2000, 4000);
+        setAmount(Random.Range(2000, 4000));
     }
 
     // Update is called once per frame
diff --git a/Assets/Scripts/Resources/Resource.cs b/Assets/Scripts/Resources/Resource.cs
index 651df7fa83a34dcf1f5286a592a384abcbd170e5..04e0e1955d39d0658b5cb37fec9b0c3368240092 100644
--- a/Assets/Scripts/Resources/Resource.cs
+++ b/Assets/Scripts/Resources/Resource.cs
@@ -4,11 +4,17 @@ using UnityEngine;
 
 public abstract class Resource : MonoBehaviour
 {
-    protected int resources;
+    [SerializeField]
+    private int resources;
+
+    [SerializeField]
+    protected Sprite[] sprites;
+
 
     public void setAmount(int i)
     {
         resources = i;
+        refreshSprite();
     }
 
     public int getAmount()