diff --git a/functions/config/addParameter.m b/functions/config/addParameter.m
new file mode 100644
index 0000000000000000000000000000000000000000..4738ffa4137c1d1b42fab4961644ee0e7c05068a
--- /dev/null
+++ b/functions/config/addParameter.m
@@ -0,0 +1,260 @@
+function parameters = addParameter(name, distr, type, A, B, varargin)
+% createParameter - create the struct containing the attributes to compute
+% the uncertanties in a given parameter
+%
+% it is assumed that the input data contains the field to be modified
+% 
+% INPUTS:
+%     name, string: parameter name
+%     distr,   int: input format and distribution type
+%                 - 1: uniform, A [min]; B [max]
+%                               val > A; val < B
+% 
+%                 - 2: uniform, A [% min]; B [% max]
+%                               val > A*v0 ; val < B*v0  (v0: nominal value)  
+% 
+%                 - 3: uniform, A [delta Min]; B [delta Max]
+%                               val > v0 + A; val < v0 + B
+% 
+%                 - 4: uniform, A [delta% min]; B [delta% max]
+%                               val > (1 + A)*v0; val < (1 + B)*v0
+% 
+%                 - 5: gaussian, A [average]; B [standard deviation]
+%                                mu = A; STD = B;  
+%                                val = randn 
+% 
+%                 - 6: gaussian, A [delta% avg]; B [standard deviation]
+%                                mu = A; STD = B;
+%                                val = (1 + randn)*v0
+% 
+%     type,   int: uncertanty type (meaningfull only if the uncertanty is
+%                  applied to and array like the Thrust or the CA)
+%                 - 1: the same uncertanty value is applied to each element
+%                 - 2: the uncertanty is computed independently for each
+%                      element
+% 
+%     A,   double: A-parameter
+% 
+%     B,   double: B-parameter
+% 
+%     parameters (optional), cell array: previous parameters 
+%       (if present, the new parameter will be appended to the given cell array)
+% 
+% OUTPUTS:
+%     par: struct, parameter struct
+
+if (nargin < 5 || nargin > 6), error('Wrong input arguments count: requires 5 or 6 arguments'), end
+if mod(distr, 1) ~= 0, error('distr shall be integer');  end
+if mod(type, 1) ~= 0, error('type shall be integer'); end
+if distr < 1 || distr > 6, error('distr shall be an integer value between 1 and 6'); end
+if type < 1 || type > 2, error('B shall be an integer value between 1 and 2'); end
+
+%% Loading data
+switch name
+    case {'CA', 'CYB', 'CY0', 'CNA', 'CN0', 'Cl', 'Clp', 'Cma', 'Cm0', 'Cmad', 'Cmq', 'Cnb', 'Cn0', 'Cnr', 'Cnp'}
+        % load aerodynamics from data
+    case {'omega', 'phi'}
+        data = loadConfig('environmentConfig.m');
+    case {'structMass', 'expMass'}
+        data = loadConfig('massConfig.m');
+    case {'thrust'}
+        data = loadConfig('engineConfig.m');
+    case {'Ixx', 'Iyy', 'Izz'}
+        data = loadConfig('inertiaConfig.m');
+    case {'drogueS', 'drogueMass', 'drogueCL', 'drogueCD', 'paramainS', 'paramainMass', 'paramainCL', 'paramainCD'}
+        data = loadConfig('parachuteConfig.m');
+    case {'rocketDiameter', 'rocketLCenter', 'centerOfMass', 'finRootChord', 'finFreeChord', 'finHeigth', 'finSemiThickness', 'ogiveLength', 'ogivePMod', 'ogiveCMod'}
+        data = loadConfig('geometryConfig.m');
+    otherwise
+        error(strcat('Parameter: <', name,'> not known')); 
+end
+
+%% Creating parameters
+if nargin == 5, len = 0; else 
+    parameters = varargin{1};
+    len = length(parameters); 
+end
+
+parameter = struct; 
+parameter.name = name;
+parameter.distribution = distr; 
+parameter.type = type; 
+parameter.A = A; 
+parameter.B = B; 
+parameter.code = nan; 
+
+switch name
+    % Aerodynamic coefficients ----
+    case 'CA'
+        parameter.value = data.Coeffs(1, :, :, :, :, :, :);
+        parameter.code = 1; 
+        parameter.UDM = '-';
+    case 'CYB'
+        parameter.value = data.Coeffs(2, :, :, :, :, :, :);
+        parameter.code = 2;  
+        parameter.UDM = '-';
+    case 'CY0'
+        parameter.value = data.Coeffs(3, :, :, :, :, :, :); 
+        parameter.code = 3; 
+        parameter.UDM = '-';
+    case 'CNA'
+        parameter.value = data.Coeffs(4, :, :, :, :, :, :); 
+        parameter.code = 4; 
+        parameter.UDM = '-';
+    case 'CN0'
+        parameter.value = data.Coeffs(5, :, :, :, :, :, :);                
+        parameter.code = 5; 
+        parameter.UDM = '-';
+    case 'Cl'
+        parameter.value = data.Coeffs(6, :, :, :, :, :, :);
+        parameter.code = 6; 
+        parameter.UDM = '-';
+    case 'Clp'
+        parameter.value = data.Coeffs(7, :, :, :, :, :, :);                
+        parameter.code = 7; 
+        parameter.UDM = '-';
+    case 'Cma'
+        parameter.value = data.Coeffs(8, :, :, :, :, :, :);
+        parameter.code = 8; 
+        parameter.UDM = '-';
+    case 'Cm0'
+        parameter.value = data.Coeffs(9, :, :, :, :, :, :);                
+        parameter.code = 9; 
+        parameter.UDM = '-';
+    case 'Cmad'
+        parameter.value = data.Coeffs(10, :, :, :, :, :, :);     
+        parameter.code = 10; 
+        parameter.UDM = '-';
+    case 'Cmq'
+        parameter.value = data.Coeffs(11, :, :, :, :, :, :);
+        parameter.code = 11; 
+        parameter.UDM = '-';
+    case 'Cnb'
+        parameter.value = data.Coeffs(12, :, :, :, :, :, :);                
+        parameter.code = 12; 
+        parameter.UDM = '-';
+    case 'Cn0'
+        parameter.value = data.Coeffs(13, :, :, :, :, :, :);
+        parameter.code = 13; 
+        parameter.UDM = '-';
+    case 'Cnr'
+        parameter.value = data.Coeffs(14, :, :, :, :, :, :);                
+        parameter.code = 14; 
+        parameter.UDM = '-';
+    case 'Cnp'
+        parameter.value = data.Coeffs(15, :, :, :, :, :, :); 
+        parameter.code = 15; 
+        parameter.UDM = '-';
+    % rocket/launch high level parameters ----
+    case 'omega'
+        parameter.value = data.OMEGA;  
+        parameter.code = 16; 
+        parameter.UDM = 'rad';
+    case 'phi'
+        parameter.value = data.PHI;  
+        parameter.code = 17; 
+        parameter.UDM = 'rad';
+    case 'structMass'
+        parameter.value = data.structure; 
+        parameter.code = 18; 
+        parameter.UDM = 'kg';
+    case 'expMass'
+        parameter.value = data.motor.expM;
+        parameter.code = 19;  
+        parameter.UDM = 'kg';
+    case 'thrust'
+        parameter.value = data.motor.expThrust;
+        parameter.code = 20;  
+        parameter.UDM = 'N';
+    case 'Ixx'
+        parameter.value = data.Ixx; 
+        parameter.code = 21; 
+        parameter.UDM = 'kg*m^4';
+    case 'Iyy'
+        parameter.value = data.Iyy; 
+        parameter.code = 22; 
+        parameter.UDM = 'kg*m^4';
+    case 'Izz'
+        parameter.value = data.Izz;
+        parameter.code = 23; 
+        parameter.UDM = 'kg*m^4';
+    case 'drogueS'
+        parameter.value = data.para(1, 1).S; 
+        parameter.code = 24; 
+        parameter.UDM = 'm2'; 
+    case 'drogueMass'
+        parameter.value = data.para(1, 1).mass;
+        parameter.code = 25; 
+        parameter.UDM = 'kg'; 
+    case 'drogueCL'
+        parameter.value = data.para(1, 1).CL; 
+        parameter.code = 26; 
+        parameter.UDM = '-'; 
+    case 'drogueCD'
+        parameter.value = data.para(1, 1).CD;
+        parameter.code = 27;
+        parameter.UDM = '-'; 
+    case 'paramainS'
+        parameter.value = data.para(2, 1).S; 
+        parameter.code = 28; 
+        parameter.UDM = 'm2'; 
+    case 'paramainMass'
+        parameter.value = data.para(2, 1).mass;
+        parameter.code = 29; 
+        parameter.UDM = 'kg'; 
+    case 'paramainCL'
+        parameter.value = data.para(2, 1).CL; 
+        parameter.code = 30; 
+        parameter.UDM = '-'; 
+    case 'paramainCD'
+        parameter.value = data.para(2, 1).CD;
+        parameter.code = 31;
+        parameter.UDM = '-';
+    % rocket geometry --- available with the stability run only
+    case 'rocketDiameter'
+        parameter.value = data.C; 
+        parameter.code = 32;
+        parameter.UDM = 'm';
+    case 'rocketLCenter'
+        parameter.value = data.Lcenter;
+        parameter.code = 33;
+        parameter.UDM = 'm';
+    case 'centerOfMass'
+        parameter.value = data.xcg;
+        parameter.code = 34;
+        parameter.UDM = 'm';
+    case 'finRootChord'
+        parameter.value = data.Chord1;
+        parameter.code = 35;
+        parameter.UDM = 'm';
+    case 'finFreeChord'
+        parameter.value = data.Chord2;
+        parameter.code = 36;
+        parameter.UDM = 'm';        
+    case 'finHeigth'
+        parameter.value = data.Height;
+        parameter.code = 37;
+        parameter.UDM = 'm';
+    case 'finSemiThickness'
+        parameter.value = data.zupRaw;
+        parameter.code = 38;
+        parameter.UDM = 'm';      
+    case 'ogiveLength'
+        parameter.value = data.Lnose;
+        parameter.code = 39;
+        parameter.UDM = 'm';            
+    case 'ogivePMod'
+        parameter.value = data.pMod;
+        parameter.code = 40;
+        parameter.UDM = '-'; 
+    case 'ogiveCMod'
+        parameter.value = data.cMod;
+        parameter.code = 41;
+        parameter.UDM = '-';         
+    otherwise
+        error(strcat('Parameter: <', name,'> not known')); 
+end
+
+parameters{len+1} = parameter;
+end
+
diff --git a/missions/2024_Lyra_Roccaraso_September/config/geometryConfig.m b/missions/2024_Lyra_Roccaraso_September/config/geometryConfig.m
index 5c7990c060aa3e27bf31f31f56cf9aac388faf42..d22fbebb25fbf20ce0505079e8634f42061ad52f 100644
--- a/missions/2024_Lyra_Roccaraso_September/config/geometryConfig.m
+++ b/missions/2024_Lyra_Roccaraso_September/config/geometryConfig.m
@@ -5,21 +5,21 @@
 %% Boat-tail
 % The boat-tail is simulated as a trunc of cone with the major diameter
 % equal to the rocket one (settings.C)
-geometry.boatLength = 000;                                       % [m] Boat-tail length
-geometry.boatDiameter = 000;                                     % [m] Boat-tail base diameter
+geometry.boat.Length = 000;                                       % [m] Boat-tail length
+geometry.boat.Diameter = 000;                                     % [m] Boat-tail base diameter
 
 %% Rocket ogive and central body
-geometry.caliber = 000;                                          % [m] Caliber (Fuselage Diameter)
-geometry.crossSection = pi*geometry.C^2/4;                       % [m^2] Cross-sectional Surface
-geometry.noseLength = 000;                                       % [m] Nosecone Length
-geometry.ogiveType = 'MHAACK';                                   % [-] Nosecone shape
-geometry.nosePower = 000; %3/4;                                  % [-] Nosecone power type parameter
-geometry.noseP = 000; %1.250152e+00;                             % [-] P coefficient for modified nosecone shapes
-geometry.noseC = 000; %1.799127e-01;                             % [-] C coefficient for modified nosecone shapes
+geometry.center.length = 000; %1.517;                             % [m] Central body length
+geometry.center.caliber = 000;                                          % [m] Caliber (Fuselage Diameter)
+geometry.center.crossSection = pi*geometry.C^2/4;                       % [m^2] Cross-sectional Surface
 
-geometry.centerLength = 000; %1.517;                             % [m] Central body length
-geometry.mNoMot = 000; %16.423;                                  % [kg] Mass of everything above engine
-geometry.xcgNoMot = 000; %1.149;                                 % [m] XCG of everything above engine (from nosecone base)
+geometry.nose.length = 000;                                       % [m] Nosecone Length
+geometry.nose.ogiveType = 'MHAACK';                                   % [-] Nosecone shape
+geometry.nose.power = 000; %3/4;                                  % [-] Nosecone power type parameter
+geometry.nose.p = 000; %1.250152e+00;                             % [-] P coefficient for modified nosecone shapes
+geometry.nose.c = 000; %1.799127e-01;                             % [-] C coefficient for modified nosecone shapes
+% geometry.mNoMot = 000; %16.423;                                  % [kg] Mass of everything above engine
+% geometry.xcgNoMot = 000; %1.149;                                 % [m] XCG of everything above engine (from nosecone base)
 
 %% Aerodynamics
 %%% Pitot tube
diff --git a/missions/2024_Lyra_Roccaraso_September/config/massConfig.m b/missions/2024_Lyra_Roccaraso_September/config/massConfig.m
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..9566315aa5126f226f7622859468af72a53abc20 100644
--- a/missions/2024_Lyra_Roccaraso_September/config/massConfig.m
+++ b/missions/2024_Lyra_Roccaraso_September/config/massConfig.m
@@ -0,0 +1,10 @@
+% CONFIG - This script contains all masses
+
+
+mass.noseCone = 0;                                             % [kg] Nosecone Mass
+mass.structure = 0;                                         % [kg] Total structural Mass
+%mass.noEngine + mass.motor.structure + ... mass.noseCone;                                               
+mass.initial = 0; 
+%mass.structure + mass.motor.expM(1);           % [kg] Total initial Mass
+mass.mTotalTime = 0; 
+%mass.noEngine + mass.motor.mc + mass.noseCone + mass.motor.expected;                           % Total mass (in time)