diff --git a/unitTests/UnitTestConfig.m b/unitTests/UnitTestConfig.m
index 7df49312a5e502290b7f4e75b0f4114f73760c6d..0a2f0208c556b59c8ef65ae2c051dca85cc7fb15 100644
--- a/unitTests/UnitTestConfig.m
+++ b/unitTests/UnitTestConfig.m
@@ -14,8 +14,9 @@ opt.testSensitivity = false;
 
 %% UNIT TEST TO CREATE
 % choose which folders to create data for
-opt.createTestSimulator = true;
+opt.saveTestSimulator = true;
 % opt.createTestCommonFunction = true;
-opt.createTestApogeeAnalysis = false;
-opt.createTestOptimization = false;
-opt.createTestSensitivity = false;
+opt.saveTestApogeeAnalysis = false;
+opt.saveTestOptimization = false;
+opt.saveTestSensitivity = false;
+
diff --git a/unitTests/data/testSimulator/HRE/referenceState_HRE.mat b/unitTests/data/testSimulator/HRE/referenceState_HRE.mat
index 3ff707f447836a2403aa2eb7054b4199bb20c1d6..481f58730389d2e27bfce06f78e32de9b0dfa010 100644
--- a/unitTests/data/testSimulator/HRE/referenceState_HRE.mat
+++ b/unitTests/data/testSimulator/HRE/referenceState_HRE.mat
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:0467b74a556ebf31ae1175c70f3544aa2445c7d96036e06e91503651fa69312b
-size 80937255
+oid sha256:7b93d349359893dc6b10a2959cb2b70f71ff1a4902280a50e795dde74db36285
+size 80208047
diff --git a/unitTests/data/testSimulator/ballistic/referenceState_ballistic.mat b/unitTests/data/testSimulator/ballistic/referenceState_ballistic.mat
index 6a7447b503653998e84229749e430aa2b9bdc9e7..1327f8c0b7aab642d1960f88b495a1e2d60ee158 100644
--- a/unitTests/data/testSimulator/ballistic/referenceState_ballistic.mat
+++ b/unitTests/data/testSimulator/ballistic/referenceState_ballistic.mat
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:8f9ed6b470f14e519542f06adaeae08a698c3d05db66ca22c28ebe2b37f9a79c
-size 80258344
+oid sha256:db69488a839d1cbf7b6d1db8e05af0016098cc3910eb9c3fc95a076e126d48cd
+size 80208047
diff --git a/unitTests/data/testSimulator/engineCut/referenceState_engineCut.mat b/unitTests/data/testSimulator/engineCut/referenceState_engineCut.mat
index b65d4ff5f7a8de6e2643adf1a7eb421000f6c9d8..0a01760d174b54177ea85a70d1a65f63f514f404 100644
--- a/unitTests/data/testSimulator/engineCut/referenceState_engineCut.mat
+++ b/unitTests/data/testSimulator/engineCut/referenceState_engineCut.mat
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:7121f30f477becacda5bcc92e9e9868ad3f1c9a02fdad5fcc1f2c8ca0466e608
-size 80973706
+oid sha256:47a3834687056548eff3dd4e27da6a749687a78d052b85a3a589d46876d0e8e8
+size 80208047
diff --git a/unitTests/data/testSimulator/multipleAB/referenceState_multipleAB.mat b/unitTests/data/testSimulator/multipleAB/referenceState_multipleAB.mat
index 126547f946ae77dbf320ba51f52cc82170a491d4..1cc02991c9c4d459bf9d236aab56ff47aca17f9e 100644
--- a/unitTests/data/testSimulator/multipleAB/referenceState_multipleAB.mat
+++ b/unitTests/data/testSimulator/multipleAB/referenceState_multipleAB.mat
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:35fe398dc348a018eeb1d15d489d935aa7f4387dd31a8d933bff85c2f0af3820
-size 80900181
+oid sha256:dac6eb6f3c456a77a3e4241643983218cad47f1dee15fc17317514dfbd581a2f
+size 80895844
diff --git a/unitTests/data/testSimulator/solid/referenceState_solid.mat b/unitTests/data/testSimulator/solid/referenceState_solid.mat
index e70ea65c49789924a0362d2f341b78564b922077..e3e14a40a9140cffcb5297b218b66b729bb65652 100644
--- a/unitTests/data/testSimulator/solid/referenceState_solid.mat
+++ b/unitTests/data/testSimulator/solid/referenceState_solid.mat
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:eb8af06e30dbe69ad92b0fa84a186ea73605f6cb52939a34e612bdcfd83d5594
-size 80978018
+oid sha256:d53b91bbb63edf70664108f16f383fd1f45289191bb675ac3713089da1a68b4e
+size 80208047
diff --git a/unitTests/mainUnitTest.m b/unitTests/mainUnitTest.m
index 13bd31f40b4109eab264291b5e60d7beb1587da4..e59cd51139ca9a08b048ecd43bc09f328f015d32 100644
--- a/unitTests/mainUnitTest.m
+++ b/unitTests/mainUnitTest.m
@@ -15,8 +15,7 @@ addpath(genpath(fullfile(currentPath, '..')));
 %% LOAD OPTIONS
 
 settings = Settings('unitTest');
-if ~isempty(options), Settings.read(settings, options, 'opt'); end
-
+Settings.read(settings, options, 'opt');
 %% TESTS
 beginTest = tic;
 
diff --git a/unitTests/saveTests.m b/unitTests/saveTests.m
index 0e5cb83c218d883ea6ae70cd5adb3bfbcdd0713b..fd096d825b364cf50b4108a75fe50c81b5eab822 100644
--- a/unitTests/saveTests.m
+++ b/unitTests/saveTests.m
@@ -1,17 +1,41 @@
-% save tests
-
+function saveTests(rocket, wind, environment, settings , options)
+arguments
+    rocket      = []    % Rocket      = Rocket.empty
+    wind        = []    % Wind  = Wind.empty
+    environment = []    % Environment = Environment.empty
+    settings     = []    % Settings    = Settings.empty
+    options.saveTestApogeeAnalysis logical = [];
+    options.saveTestOptimization logical = [];
+    options.saveTestSensitivity logical = [];
+    options.saveTestSimulator logical = [];
+end
+%% PATH
 currentPath = fileparts(mfilename('fullpath'));
 addpath(genpath(currentPath));
 
-unitTestConfig;
 
 totTime = tic;
+%% LOAD DATA / SETTINGS
+mission = Mission(true);
+if isempty(rocket), rocket  = Rocket(mission); end
+if isempty(environment), environment  = Environment(mission, rocket.motor); end
+if isempty(wind), wind  = Wind(mission); end
+if isempty(settings)
+            simPath = fullfile(fileparts(mfilename('fullpath')),'..', 'simulator', 'simulatorConfig.m');
+            %odePath = fullfile(fileparts(mfilename('fullpath')), '..', '..', 'common', 'settings ', 'odeConfig.m');
+            settings  = Settings(simPath, 'ode','unitTest');
+           
+end
+Settings.read(settings, options, 'opt');
+
+
+
 
 %% CREATING SIMULATOR TESTS
-if opt.createTestSimulator
+if settings.opt.saveTestSimulator
     verifiable = {'multipleAB', 'ballistic', 'engineCut', 'solid', 'HRE'};
     for k = 1:length(verifiable)
-        TestSimulator.saveTest(verifiable{k}, mission);
+        TestSimulator.saveTest(verifiable{k}, mission,rocket, wind, environment, settings );
     end
 end
 
@@ -33,7 +57,7 @@ end
 % end
 
 %% TEST APOGEE ANALYSIS
-if opt.createTestApogeeAnalysis
+if settings.opt.saveTestApogeeAnalysis
     TestApogeeAnalysis.saveTest(mission);
 end
 
@@ -43,13 +67,13 @@ end
 % end
 
 %% OPTIMIZATION
-if opt.createTestOptimization
+if settings.opt.saveTestOptimization
     TestOptimization.saveTest(mission);
 end
 
 
 totTimeF = toc(totTime);
 fprintf('\n\n All unit tests created in: %2.2f seconds\n\n', totTimeF)
-
+end
 % clear all
 % clc
diff --git a/unitTests/tests/TestSimulator.m b/unitTests/tests/TestSimulator.m
index f4ad54adddc4d920fe29febf6e6c5d000f594334..c6fde68913415131d616cff173b80b7160482eb8 100644
--- a/unitTests/tests/TestSimulator.m
+++ b/unitTests/tests/TestSimulator.m
@@ -3,7 +3,7 @@ classdef TestSimulator < UnitTest
     % TEST FUNZIONANTE, DA RISOLVERE PATH PER simulatorConfig.m in saveTest
 
     properties
-        simulatorSettings
+        settings
         refSimulator
     end
 
@@ -32,7 +32,7 @@ classdef TestSimulator < UnitTest
             testCase.refSimulator.stateA = load(filePath).stateA;
             testCase.refSimulator.stateF = load(filePath).stateF;
 
-            testCase.simulatorSettings = load(filePath).simulatorSettings;
+            testCase.settings = load(filePath).settings;
                         
             % Construct the file path dynamically based on the test parameter
         end
@@ -53,51 +53,31 @@ classdef TestSimulator < UnitTest
             addpath(genpath(mainSimPath));
 
             % Run main simulator
-            [postp.stateA, postp.stateF] = mainSimulator(testCase.rocket, testCase.wind, testCase.environment, testCase.simulatorSettings);
+            [postp.stateA, postp.stateF] = mainSimulator(testCase.rocket, testCase.wind, testCase.environment, testCase.settings);
             
+            max(abs(postp.stateA.state.Y(3,:)))      %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
             % Verify results
             testCase.verifyEqual(postp, testCase.refSimulator);
         end
     end
 
     methods (Static)
-        function saveTest(verifiable,  mission)
+        function saveTest(verifiable,mission,rocket, wind, environment, settings)
             Time = tic;
-
-            disp('Started saving simulator tests')
-
             currentPath = fileparts(mfilename('fullpath'));
             addpath(genpath(currentPath));
-            simPath = fullfile(fileparts(mfilename('fullpath')), '..', '..', 'simulator', 'simulatorConfig.m');
-            odePath = fullfile(fileparts(mfilename('fullpath')), '..', '..', 'common', 'settings', 'odeConfig.m');
-            simulatorSettings = Settings(simPath, odePath);
-            
-            % simulatorSettings = Settings('ode');
-            % simConfigPath = fullfile(currentPath, '..', '..', 'simulator', 'simulatorConfig.m');
-            % run(simConfigPath);
 
-            if strcmp(verifiable, 'ballistic')
-                simulatorSettings.simulator.ballistic = 1;
-                simulatorSettings.simulator.parafoil = 0;
-            end
 
-            simulatorSettings.simulator.unitTest = 1;
-            
-            % simulatorSettings.addprop('simulator');
-            % simulatorSettings.simulator = simulator;
+            disp('Started saving simulator tests')
 
-            rocket = Rocket(mission);
-            environment = Environment(mission, rocket.motor);
-            wind = Wind(mission);
 
-            if verifiable == "HRE"
-                mission = Mission("2024_Lyra_Portugal_October");
+            if strcmp(verifiable, 'ballistic')
+                settings.simulator.ballistic = 1;
+                settings.simulator.parafoil = 0;
             end
 
-            % if verifiable == "solid"
-            %   mission = Mission("2023_Pyxis_Portugal_October");
-            % end
-
+            
             if verifiable == "multipleAB"
                 rocket.airbrakes.enabled = 1;
             end
@@ -107,7 +87,7 @@ classdef TestSimulator < UnitTest
             % end
            
             % simulator
-            [stateA, stateF, simulatorSettings] = mainSimulator(rocket, wind, environment, simulatorSettings);
+            [stateA, stateF, settings] = mainSimulator(rocket, wind, environment, settings,'unitTest',true);
 
             % Save final state
             fileName = sprintf("referenceState_%s.mat", verifiable);
@@ -117,12 +97,14 @@ classdef TestSimulator < UnitTest
             if ~exist(folderPath, "dir")
                 mkdir(folderPath)
             end
-
-            save(filePath,'stateA','stateF', 'simulatorSettings',...
+       
+            save(filePath,'stateA','stateF', 'settings',...
              'mission', 'rocket', 'environment', 'wind');
             
             Time = toc(Time);
             fprintf('\t %s test created in: %2.2f seconds\n',verifiable, Time)
+            
+            
          end
     end
 end