diff --git a/Assets/Scripts/City.cs b/Assets/Scripts/City.cs
index 0b9c7ffa57eebb4c5876cdaa929b2f1276858c29..8c7f8c2fbb3da942aed1b860f0e7465335acfbe9 100644
--- a/Assets/Scripts/City.cs
+++ b/Assets/Scripts/City.cs
@@ -1,4 +1,5 @@
-using System.Collections;
+using System;
+using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 
@@ -11,8 +12,18 @@ public class City : MonoBehaviour
     {
         
     }
-    
-    
+
+    public int GetLevel(UpgradeTargets target)
+    {
+        return 1;
+    }
+
+    public void AddCollector()
+    {
+        
+    }
+
+
     /** 
      *  Kayttaa resurssia r, maaran 'amount' verran (amount >= 0).
      *  Voidaan kayttaa maximissaan sen verran resursseja mita niita on kaytossa.
@@ -32,7 +43,12 @@ public class City : MonoBehaviour
             }
         }
     }
-   
+
+    public void AddPopulation(int v)
+    {
+        
+    }
+
 
     /** 
 *  Lisaa resurssia r, maaran 'amount' verran (amount >= 0).
diff --git a/Assets/Scripts/CollectorUpgrade.cs b/Assets/Scripts/CollectorUpgrade.cs
index 0cb03a68800f5c13f88b6441d4d0a6f5f6ecc9a0..3e4be0d1e48530275fcfd0c9f6144d67dd464192 100644
--- a/Assets/Scripts/CollectorUpgrade.cs
+++ b/Assets/Scripts/CollectorUpgrade.cs
@@ -12,7 +12,7 @@ public class CollectorUpgrade : Upgrade
         UpgradeTargets target = UpgradeTargets.collector;
         City city = gameObject.GetComponent<City>();
         float currentLevel = city.GetLevel(target);
-        city.UseResources(getPrices(currentLevel));
+        city.UseResources(GetPrices(currentLevel));
         city.AddCollector();
     }
 
diff --git a/Assets/Scripts/PopulationUpgrade.cs b/Assets/Scripts/PopulationUpgrade.cs
index 57d6c3b750059b782a0478bcff43acd95ab9b39a..f2de952c2b92ac0244099399ac4425ed94c84af9 100644
--- a/Assets/Scripts/PopulationUpgrade.cs
+++ b/Assets/Scripts/PopulationUpgrade.cs
@@ -20,8 +20,8 @@ public class PopulationUpgrade : Upgrade
     {
         UpgradeTargets target = UpgradeTargets.population;
         City city = gameObject.GetComponent<City>();
-        float currentLevel = city.GetLevel(target);
-        city.UseResources(getPrices(currentLevel));
+        int currentLevel = city.GetLevel(target);
+        city.UseResources(GetPrices(currentLevel));
         city.AddPopulation(currentLevel * 10);
         Debug.Log("population upgraded");
     }
diff --git a/Assets/Scripts/ResourceCapacityUpgrade.cs b/Assets/Scripts/ResourceCapacityUpgrade.cs
index 008b6389637907a74e8429dd2f2b670d3dd39d09..eda19d90a6da184ac8d599a3c6daec3982dcdc20 100644
--- a/Assets/Scripts/ResourceCapacityUpgrade.cs
+++ b/Assets/Scripts/ResourceCapacityUpgrade.cs
@@ -20,7 +20,7 @@ public class ResourceCapacityUpgrade : Upgrade
     {
         UpgradeTargets target = UpgradeTargets.capacity;
         City city = gameObject.GetComponent<City>();
-        float currentLevel = city.GetLevel(target);
+        int currentLevel = city.GetLevel(target);
         city.UseResources(GetPrices(currentLevel));
         city.IncreaseCapacity(currentLevel * 100);
         Debug.Log("Capacity upgraded");
diff --git a/Assets/Scripts/ResourceEfficiencyUpgrade.cs b/Assets/Scripts/ResourceEfficiencyUpgrade.cs
index 6db0798ae22832a5f2caef34c4f8cb3301beb817..86514c535793536e06f27d179844359bac7777ee 100644
--- a/Assets/Scripts/ResourceEfficiencyUpgrade.cs
+++ b/Assets/Scripts/ResourceEfficiencyUpgrade.cs
@@ -20,7 +20,7 @@ public class ResourceEfficiencyUpgrade : Upgrade
     {
         City city = gameObject.GetComponent<City>();
         increaseEfficiencyLevel();
-        city.UseResources(getPrices(getEfficiencyLevel() * getEfficiencyLevel()));
+        city.UseResources(GetPrices(getEfficiencyLevel() * getEfficiencyLevel()));
         Debug.Log("Efficienfy upgraded to: " + getEfficiencyLevel());
     }
 }
diff --git a/Assets/Scripts/ResourcePool.cs b/Assets/Scripts/ResourcePool.cs
index c4d6843f04a4841d78f252e0cb0f6c297f7e6037..c4cbf61147739be198f48ba6e87b14d6e506c870 100644
--- a/Assets/Scripts/ResourcePool.cs
+++ b/Assets/Scripts/ResourcePool.cs
@@ -59,4 +59,8 @@ public class ResourcePool : MonoBehaviour
     {
         this.maxCapacity += x;
     }
+    public void AddCollector()
+    {
+        Collector c = gameObject.AddComponent<Collector>();
+    }
 }
diff --git a/Assets/Scripts/Road.cs b/Assets/Scripts/Road.cs
new file mode 100644
index 0000000000000000000000000000000000000000..75762802fed4f5e0a13ccc4830219caeb43c8040
--- /dev/null
+++ b/Assets/Scripts/Road.cs
@@ -0,0 +1,29 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class Road : MonoBehaviour
+{
+    // Start is called before the first frame update
+    void Start()
+    {
+        
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        
+    }
+
+    internal float GetLevel(UpgradeTargets target)
+    {
+        throw new NotImplementedException();
+    }
+
+    internal void IncreaseSpeed(float v)
+    {
+        throw new NotImplementedException();
+    }
+}
diff --git a/Assets/Scripts/Road.cs.meta b/Assets/Scripts/Road.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..f59656854f71d7ae08d4a71369426625401a6590
--- /dev/null
+++ b/Assets/Scripts/Road.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a13d323f8e41b544c95f8ef1a2b4baba
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/RoadUpgrade.cs b/Assets/Scripts/RoadUpgrade.cs
index ed98d5f6afdb86eed488a6becb8ee34530c10c48..dbb667be82ececd37c920697ead1a7d35c3e489e 100644
--- a/Assets/Scripts/RoadUpgrade.cs
+++ b/Assets/Scripts/RoadUpgrade.cs
@@ -21,8 +21,8 @@ public class RoadUpgrade : Upgrade
         UpgradeTargets target = UpgradeTargets.speed;
         Road road = gameObject.GetComponent<Road>();
         City city = gameObject.GetComponent<City>();
-        float currentLevel = road.getLevel(target);
-        city.UseResources(getPrices(currentLevel));
+        float currentLevel = road.GetLevel(target);
+        city.UseResources(GetPrices(currentLevel));
         road.IncreaseSpeed(1 / currentLevel);
         Debug.Log("Road upgraded");
     }
diff --git a/Assets/Scripts/Upgrade.cs b/Assets/Scripts/Upgrade.cs
index d521f6e01e0bc0c91105e6d57c8a14df0149409f..b201b431ab0b7bbb5d02ab4c4fed21670f04c50d 100644
--- a/Assets/Scripts/Upgrade.cs
+++ b/Assets/Scripts/Upgrade.cs
@@ -58,7 +58,7 @@ public abstract class Upgrade : MonoBehaviour
 
     }
 
-    public List<float> getPrices(float modifier)
+    public List<float> GetPrices(float modifier)
     {
         List<float> prices = new List<float>();
         foreach(KeyValuePair<Resources, int> key in resources)