diff --git a/Assets/Scripts/Upgrades/CityUpgrade.cs b/Assets/Scripts/Upgrades/CityUpgrade.cs
new file mode 100644
index 0000000000000000000000000000000000000000..c16877c631e7ee7b4b78021fb4bf14ae02065305
--- /dev/null
+++ b/Assets/Scripts/Upgrades/CityUpgrade.cs
@@ -0,0 +1,32 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class CityUpgrade : Upgrade
+{
+    // Start is called before the first frame update
+    void Start()
+    {
+        
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        
+    }
+
+    public void UpgradeCity()
+    {
+
+        UpgradeTargets target = UpgradeTargets.city;
+        City city = gameObject.GetComponent<City>();
+        int currentLevel = city.GetLevel(target);
+
+        if (city.GetLevel(UpgradeTargets.population) >= 5) {
+            city.UseResources(GetPrices(currentLevel * 10));
+        //    city.IncreaseCityLevel();  currently not implemented in City
+        }
+        
+    }
+}
diff --git a/Assets/Scripts/Upgrades/CityUpgrade.cs.meta b/Assets/Scripts/Upgrades/CityUpgrade.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..a1b5e1c7f62cd4a595b1e11a76cab2a5e2c23ad3
--- /dev/null
+++ b/Assets/Scripts/Upgrades/CityUpgrade.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d033c0fdb28116543820fef49807d764
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: