diff --git a/src/main/java/si/ijs/urbanite/simserver/scripts/ScriptsService.java b/src/main/java/si/ijs/urbanite/simserver/scripts/ScriptsService.java
index b29254549dcb049c4f4de1590d1849ac3770ee23..98e58a04aac219f3e9e8db2f74d15723e4aa1489 100644
--- a/src/main/java/si/ijs/urbanite/simserver/scripts/ScriptsService.java
+++ b/src/main/java/si/ijs/urbanite/simserver/scripts/ScriptsService.java
@@ -101,6 +101,7 @@ public class ScriptsService {
         try {
             switch (city_name) {
                 case "amsterdam": {
+                    //use TravelDemandAmsterdamCyclistsCut instead
                     TravelDemandAmsterdam.generateTravelDemand(net_id, plan_id);
                     break;
                 }
@@ -109,6 +110,7 @@ public class ScriptsService {
                     break;
                 }
                 case "helsinki": {
+                    //use TravelDemandHelsinkiCut instead
                     TravelDemandGenerationHelsinki.generateTravelDemand(net_id, plan_id, paramsDTO);
                     break;
                 }
diff --git a/src/main/java/si/ijs/urbanite/simserver/simulation/SimulationRunService.java b/src/main/java/si/ijs/urbanite/simserver/simulation/SimulationRunService.java
index 4f0234b740f05f5fea063c066acf3a5266b3ee9c..1ebe1ac23d9b1d34bb0114fb9ddd0c2acc769423 100644
--- a/src/main/java/si/ijs/urbanite/simserver/simulation/SimulationRunService.java
+++ b/src/main/java/si/ijs/urbanite/simserver/simulation/SimulationRunService.java
@@ -136,7 +136,7 @@ public class SimulationRunService {
                 break;
             }
             case "messina": {
-                TravelDemandGenerationMessina.generateTravelDemand(String.valueOf(networkId), String.valueOf(planId));
+                TravelDemandGenerationMessina.generateTravelDemand(String.valueOf(networkId), String.valueOf(planId), params);
                 break;
             }
         }
@@ -381,8 +381,8 @@ public class SimulationRunService {
         controler.getConfig().controler()
                 .setEventsFileFormats(Collections.singleton(ControlerConfigGroup.EventsFileFormat.xml));
 
-        controler.getConfig().controler().setWriteEventsInterval(1);
-        controler.getConfig().controler().setLastIteration(1);
+        controler.getConfig().controler().setWriteEventsInterval(5);
+        controler.getConfig().controler().setLastIteration(50);
         controler.getConfig().network().setInputFile(Paths.get(city,"original_input","networks",String.valueOf(networkId),"network.xml").toString());
         controler.getConfig().plans().setInputFile(Paths.get(city,"original_input","networks",String.valueOf(networkId),"plans",String.valueOf(planId),"plans.xml").toString());
 
diff --git a/src/main/java/si/ijs/urbanite/simserver/simulation/SimulationWithParamsDTO.java b/src/main/java/si/ijs/urbanite/simserver/simulation/SimulationWithParamsDTO.java
index 9cfbeab96ecb4cd4425017a98d7d3af3d0f1eda8..1826633d7e60046869d4618f88a03d03038a7cf7 100644
--- a/src/main/java/si/ijs/urbanite/simserver/simulation/SimulationWithParamsDTO.java
+++ b/src/main/java/si/ijs/urbanite/simserver/simulation/SimulationWithParamsDTO.java
@@ -176,4 +176,28 @@ public class SimulationWithParamsDTO {
         all_helsinki_districts.put("Ă–stersundom", 7);
         return all_helsinki_districts;
     }
+
+
+    //messina districts
+    public ArrayMap<String, Integer> messina_districts(){
+        ArrayMap<String, Integer> all_messina_districts = new ArrayMap<>();
+        all_messina_districts.put("1_Circoscrizione", percentage_population_change_1_Circoscrizione);
+        all_messina_districts.put("2_Circoscrizione", percentage_population_change_2_Circoscrizione);
+        all_messina_districts.put("3_Circoscrizione", percentage_population_change_3_Circoscrizione);
+        all_messina_districts.put("4_Circoscrizione", percentage_population_change_4_Circoscrizione);
+        all_messina_districts.put("5_Circoscrizione", percentage_population_change_5_Circoscrizione);
+        all_messina_districts.put("6_Circoscrizione", percentage_population_change_6_Circoscrizione);
+        return  all_messina_districts;
+    }
+
+    public ArrayMap<String, Integer> messina_districts_index(){
+        ArrayMap<String, Integer> all_messina_districts = new ArrayMap<>();
+        all_messina_districts.put("1_Circoscrizione", 0);
+        all_messina_districts.put("2_Circoscrizione", 1);
+        all_messina_districts.put("3_Circoscrizione", 2);
+        all_messina_districts.put("4_Circoscrizione", 3);
+        all_messina_districts.put("5_Circoscrizione", 4);
+        all_messina_districts.put("6_Circoscrizione", 5);
+        return  all_messina_districts;
+    }
 }
diff --git a/src/main/java/si/ijs/urbanite/simserver/travel_demand/TravelDemandGenerationMessina.java b/src/main/java/si/ijs/urbanite/simserver/travel_demand/TravelDemandGenerationMessina.java
index 3dce8f60a7e709150bdd7e120aae95bc8e9c90d8..4e003560a1ad75b4a39bd8f19e6a95a55a6196b7 100644
--- a/src/main/java/si/ijs/urbanite/simserver/travel_demand/TravelDemandGenerationMessina.java
+++ b/src/main/java/si/ijs/urbanite/simserver/travel_demand/TravelDemandGenerationMessina.java
@@ -12,6 +12,7 @@ import org.matsim.core.scenario.ScenarioUtils;
 import org.matsim.core.utils.geometry.CoordinateTransformation;
 import org.matsim.core.utils.geometry.transformations.TransformationFactory;
 import org.poly2tri.geometry.polygon.PolygonPoint;
+import si.ijs.urbanite.simserver.simulation.SimulationWithParamsDTO;
 
 import java.io.BufferedReader;
 import java.io.FileReader;
@@ -21,7 +22,9 @@ import java.util.ArrayList;
 import java.util.Random;
 
 public class TravelDemandGenerationMessina {
-    public static void generateTravelDemand(String net_id, String plan_id) throws IOException {
+    public static void generateTravelDemand(String net_id, String plan_id, SimulationWithParamsDTO paramsDTO) throws IOException {
+
+        ChangeNumberInhabitants.changeNumberInhabitants("messina",paramsDTO.messina_districts(),paramsDTO.messina_districts_index());
         Integer scale_facotr = 10; // 10% of the full population
 
         Random random = new Random();
@@ -317,6 +320,6 @@ public class TravelDemandGenerationMessina {
     }
 
     public static void main(String[] args) throws IOException {
-        generateTravelDemand("2","2");
+//        generateTravelDemand("2","2");
     }
 }