diff --git a/empennage_design/empennage_design_conf.xml b/empennage_design/empennage_design_conf.xml
index 1ca40940960e4e0c351b7eeceaa268245b6070d4..a651f00fa9c200a040f3e0fc867b2a119b03a95e 100644
--- a/empennage_design/empennage_design_conf.xml
+++ b/empennage_design/empennage_design_conf.xml
@@ -55,16 +55,6 @@
 				<method description="Selector mode_0: flops">
 					<value>mode_0</value>
 				</method>
-				<parameters description="parameters for mass calculation methods">
-					<mode_0 description="flops">
-						<technology_factor description="technology factor applied to flops mass calculation methods">
-							<value>1.0</value>
-							<unit>1</unit>
-							<lower_boundary>0.5</lower_boundary>
-							<upper_boundary>1.5</upper_boundary>
-						</technology_factor>
-					</mode_0>
-				</parameters>
 			</mass_mode>
 		</modes>
 		<common_airfoil_data_path description="path to common airfoil data">
@@ -126,6 +116,18 @@
 								<upper_boundary>90</upper_boundary>
 							</delta_sweep>
 						</parameter>
+						<mass_mode description="mass calculation method">
+							<parameters description="parameters for mass calculation methods">
+								<mode_0 description="flops">
+									<technology_factor description="technology factor applied to flops mass calculation methods">
+										<value>1.0</value>
+										<unit>1</unit>
+										<lower_boundary>0.5</lower_boundary>
+										<upper_boundary>1.5</upper_boundary>
+									</technology_factor>
+								</mode_0>
+							</parameters>
+						</mass_mode>
 						<profiles description="tail profile for both inner and outer section">
 							<profile description="tail profile at section 0" ID="0">
 								<name description="profile name">
@@ -360,6 +362,18 @@
 								<upper_boundary>45</upper_boundary>
 							</delta_sweep>
 						</parameter>
+						<mass_mode description="mass calculation method">
+							<parameters description="parameters for mass calculation methods">
+								<mode_0 description="flops">
+									<technology_factor description="technology factor applied to flops mass calculation methods">
+										<value>1.0</value>
+										<unit>1</unit>
+										<lower_boundary>0.5</lower_boundary>
+										<upper_boundary>1.5</upper_boundary>
+									</technology_factor>
+								</mode_0>
+							</parameters>
+						</mass_mode>
 						<profiles description="tail profile for both inner and outer section">
 							<profile description="tail profile at section 0" ID="0">
 								<name description="profile name">
@@ -596,6 +610,18 @@
 								<upper_boundary>90</upper_boundary>
 							</delta_sweep>
 						</parameter>
+						<mass_mode description="mass calculation method">
+							<parameters description="parameters for mass calculation methods">
+								<mode_0 description="flops">
+									<technology_factor description="technology factor applied to flops mass calculation methods">
+										<value>1.0</value>
+										<unit>1</unit>
+										<lower_boundary>0.5</lower_boundary>
+										<upper_boundary>1.5</upper_boundary>
+									</technology_factor>
+								</mode_0>
+							</parameters>
+						</mass_mode>
 						<profiles description="tail profile for both inner and outer section">
 							<profile description="tail profile at section 0" ID="0">
 								<name description="profile name">
@@ -830,6 +856,18 @@
 								<upper_boundary>45</upper_boundary>
 							</delta_sweep>
 						</parameter>
+						<mass_mode description="mass calculation method">
+							<parameters description="parameters for mass calculation methods">
+								<mode_0 description="flops">
+									<technology_factor description="technology factor applied to flops mass calculation methods">
+										<value>3.0</value>
+										<unit>1</unit>
+										<lower_boundary>0.5</lower_boundary>
+										<upper_boundary>1.5</upper_boundary>
+									</technology_factor>
+								</mode_0>
+							</parameters>
+						</mass_mode>
 						<profiles description="tail profile for both inner and outer section">
 							<profile description="tail profile at section 0" ID="0">
 								<name description="profile name">
@@ -1073,6 +1111,18 @@
 								<upper_boundary>90</upper_boundary>
 							</delta_sweep>
 						</parameter>
+						<mass_mode description="mass calculation method">
+							<parameters description="parameters for mass calculation methods">
+								<mode_0 description="flops">
+									<technology_factor description="technology factor applied to flops mass calculation methods">
+										<value>1.0</value>
+										<unit>1</unit>
+										<lower_boundary>0.5</lower_boundary>
+										<upper_boundary>1.5</upper_boundary>
+									</technology_factor>
+								</mode_0>
+							</parameters>
+						</mass_mode>
 						<profiles description="tail profile for both inner and outer section">
 							<profile description="tail profile at section 0" ID="0">
 								<name description="profile name">
diff --git a/empennage_design/src/bwb/vertical_tails/bwbVerticalTailsDesignConfig.cpp b/empennage_design/src/bwb/vertical_tails/bwbVerticalTailsDesignConfig.cpp
index bd940ed974d49a52ef7cea32750196917899d2a6..3e7a34cd828c10eb585715dbcfebd92c131afd55 100644
--- a/empennage_design/src/bwb/vertical_tails/bwbVerticalTailsDesignConfig.cpp
+++ b/empennage_design/src/bwb/vertical_tails/bwbVerticalTailsDesignConfig.cpp
@@ -29,13 +29,11 @@ namespace low {
 VerticalTailsConfig::VerticalTailsConfig()
     : design_mode(EndnodeReadOnly<std::string>("module_configuration_file/program_settings/modes/design_mode")),
       mass_mode(EndnodeReadOnly<std::string>("module_configuration_file/program_settings/modes/mass_mode/method")),
-      mass_mode_flops_technology_factor(EndnodeReadOnly<double>("module_configuration_file/program_settings/modes/mass_mode/parameters/mode_0/technology_factor")),
       common_airfoil_data_path(EndnodeReadOnly<std::string>("module_configuration_file/program_settings/common_airfoil_data_path")) {}
 
 void VerticalTailsConfig::read(const node& xml) {
   design_mode.read(xml);
   mass_mode.read(xml);
-  mass_mode_flops_technology_factor.read(xml);
   common_airfoil_data_path.read(xml);
 
   /* List all tail elements */
diff --git a/empennage_design/src/bwb/vertical_tails/bwbVerticalTailsDesignConfig.h b/empennage_design/src/bwb/vertical_tails/bwbVerticalTailsDesignConfig.h
index 0a3c44fe405e5dfb7438d63739b75a467b133bb3..8d366dce514786a09f9dacd2c96d84fb3d5c18e9 100644
--- a/empennage_design/src/bwb/vertical_tails/bwbVerticalTailsDesignConfig.h
+++ b/empennage_design/src/bwb/vertical_tails/bwbVerticalTailsDesignConfig.h
@@ -42,7 +42,6 @@ class VerticalTailsConfig {
   EndnodeReadOnly<std::string> common_airfoil_data_path;
   EndnodeReadOnly<std::string> design_mode;
   EndnodeReadOnly<std::string> mass_mode;
-  EndnodeReadOnly<double> mass_mode_flops_technology_factor;
   std::vector<TailElement> vertical_tails;
 
 };
diff --git a/empennage_design/src/bwb/vertical_tails/low/lowBwbVerticalTailsDesign.cpp b/empennage_design/src/bwb/vertical_tails/low/lowBwbVerticalTailsDesign.cpp
index f42e6bc560496303cef84411761f85ad65157f8e..2c377d74752c656a8fbe333c46ea5ad7e5f90ce4 100644
--- a/empennage_design/src/bwb/vertical_tails/low/lowBwbVerticalTailsDesign.cpp
+++ b/empennage_design/src/bwb/vertical_tails/low/lowBwbVerticalTailsDesign.cpp
@@ -275,7 +275,7 @@ void VerticalTails::flops_mass() {
         MassPropertiesIO(std::format("component_design/empennage/specific/geometry/aerodynamic_surface@{}/", id),
                          std::format("vertical_tail_{}", id)));
     data->tails_mass.back().data["mass"] =
-        flops::vertical_stabilizer_mass(config->mass_mode_flops_technology_factor.value(), 1, geom2::measure::reference_area(data->tails[id]),
+        flops::vertical_stabilizer_mass(config->vertical_tails[id].mass_mode_flops_technology_factor.value(), 1, geom2::measure::reference_area(data->tails[id]),
                                         geom2::measure::taper_ratio(data->tails[id]), maximum_takeoff_mass);
     geom2::Point_3 cg = geom2::measure::centroid(data->tails[id]);
 
diff --git a/empennage_design/src/lib/io_methods/io.h b/empennage_design/src/lib/io_methods/io.h
index 420c146f6a6b6ee4e09eae9fb7bb98e5a0b53eea..dc635a1882ab41d1864631057e7b5350b10d294e 100644
--- a/empennage_design/src/lib/io_methods/io.h
+++ b/empennage_design/src/lib/io_methods/io.h
@@ -102,7 +102,8 @@ class TailElement {
         factor_taper_ratio(EndnodeReadOnly<double>(origin + "parameter/factor_taper_ratio")),
         delta_sweep(EndnodeReadOnly<double>(origin + "parameter/delta_sweep")),
         inner_profile(EndnodeReadOnly<std::string>(origin + "profiles/profile@0/name")),
-        outer_profile(EndnodeReadOnly<std::string>(origin + "profiles/profile@1/name")) {}
+        outer_profile(EndnodeReadOnly<std::string>(origin + "profiles/profile@1/name")),
+        mass_mode_flops_technology_factor(EndnodeReadOnly<double>(origin + "mass_mode/parameters/mode_0/technology_factor")) {}
   ~TailElement() = default;
 
   const std::string origin;
@@ -116,6 +117,7 @@ class TailElement {
   EndnodeReadOnly<double> delta_sweep;
   EndnodeReadOnly<std::string> inner_profile;
   EndnodeReadOnly<std::string> outer_profile;
+  EndnodeReadOnly<double> mass_mode_flops_technology_factor;
 
   std::vector<Spar> spars;
   std::vector<ControlDevice> control_devices;
@@ -131,6 +133,7 @@ class TailElement {
     delta_sweep.read(xml);
     inner_profile.read(xml);
     outer_profile.read(xml);
+    mass_mode_flops_technology_factor.read(xml);
 
     size_t spars_available = xml.getVector(origin + "spars/spar", 1).size();
     for (size_t i = 0; i < spars_available; ++i) {
diff --git a/empennage_design/src/taw/conventional/conventionalEmpennageDesignConfig.cpp b/empennage_design/src/taw/conventional/conventionalEmpennageDesignConfig.cpp
index d659ebb6e31f4ddbd9fc9d5812a33bfdac5c2612..9eafe8cf5beb2ffd7680ac003bec8c9e3feaa001 100644
--- a/empennage_design/src/taw/conventional/conventionalEmpennageDesignConfig.cpp
+++ b/empennage_design/src/taw/conventional/conventionalEmpennageDesignConfig.cpp
@@ -28,7 +28,6 @@ namespace low {
 ConventionalConfig::ConventionalConfig()
     : design_mode(EndnodeReadOnly<std::string>("module_configuration_file/program_settings/modes/design_mode")),
       mass_mode(EndnodeReadOnly<std::string>("module_configuration_file/program_settings/modes/mass_mode/method")),
-      mass_mode_flops_technology_factor(EndnodeReadOnly<double>("module_configuration_file/program_settings/modes/mass_mode/parameters/mode_0/technology_factor")),
       vertical_stabilizer(TailElement(
           "module_configuration_file/program_settings/tube_and_wing/low_fidelity/conventional/tail_element@0/")),
       horizontal_stabilizer(TailElement(
@@ -38,7 +37,6 @@ ConventionalConfig::ConventionalConfig()
 void ConventionalConfig::read(const node& xml) {
   design_mode.read(xml);
   mass_mode.read(xml);
-  mass_mode_flops_technology_factor.read(xml);
   common_airfoil_data_path.read(xml);
   vertical_stabilizer.read(xml);
   horizontal_stabilizer.read(xml);
diff --git a/empennage_design/src/taw/conventional/conventionalEmpennageDesignConfig.h b/empennage_design/src/taw/conventional/conventionalEmpennageDesignConfig.h
index e79d36d0fc2e653810371ba7d99594551f5c4ba7..3c8d0d4b96de4e4c484656dc3b8012e5c0f18c89 100644
--- a/empennage_design/src/taw/conventional/conventionalEmpennageDesignConfig.h
+++ b/empennage_design/src/taw/conventional/conventionalEmpennageDesignConfig.h
@@ -39,7 +39,6 @@ class ConventionalConfig {
   EndnodeReadOnly<std::string> common_airfoil_data_path;
   EndnodeReadOnly<std::string> design_mode;
   EndnodeReadOnly<std::string> mass_mode;
-  EndnodeReadOnly<double> mass_mode_flops_technology_factor;
   TailElement vertical_stabilizer;
   TailElement horizontal_stabilizer;
 };
diff --git a/empennage_design/src/taw/conventional/low/lowConventionalEmpennageDesign.cpp b/empennage_design/src/taw/conventional/low/lowConventionalEmpennageDesign.cpp
index c4a031e0962b2bf2e33904bd646a3a9b39db7f26..d36940aef4f89e9768f67bef4f15cb2f31505678 100644
--- a/empennage_design/src/taw/conventional/low/lowConventionalEmpennageDesign.cpp
+++ b/empennage_design/src/taw/conventional/low/lowConventionalEmpennageDesign.cpp
@@ -405,7 +405,7 @@ void Conventional::flops_mass() {
   const double maximum_takeoff_mass = data->maximum_takeoff_mass.value();
 
   data->vertical_stabilizer_mass.data["mass"] =
-      flops::vertical_stabilizer_mass(config->mass_mode_flops_technology_factor.value(), 1, geom2::measure::reference_area(data->vertical_stabilizer),
+      flops::vertical_stabilizer_mass(config->vertical_stabilizer.mass_mode_flops_technology_factor.value(), 1, geom2::measure::reference_area(data->vertical_stabilizer),
                                       geom2::measure::taper_ratio(data->vertical_stabilizer), maximum_takeoff_mass);
   myRuntimeInfo->out << std::format("Vertical stabilizer mass ... {}",
                                     data->vertical_stabilizer_mass.data["mass"].value())
@@ -423,7 +423,7 @@ void Conventional::flops_mass() {
 
   /* Horizontal stabilizer mass and cog */
   data->horizontal_stabilizer_mass.data["mass"] =
-      flops::horizontal_stabilizer_mass(config->mass_mode_flops_technology_factor.value(), geom2::measure::reference_area(data->horizontal_stabilizer),
+      flops::horizontal_stabilizer_mass(config->horizontal_stabilizer.mass_mode_flops_technology_factor.value(), geom2::measure::reference_area(data->horizontal_stabilizer),
                                         geom2::measure::taper_ratio(data->horizontal_stabilizer), maximum_takeoff_mass);
   myRuntimeInfo->out << std::format("Horizontal stabilizer mass ... {:.2f}",
                                     data->horizontal_stabilizer_mass.data["mass"].value())
diff --git a/empennage_design/src/taw/t_tail/low/low_t_tail_empennage_design.cpp b/empennage_design/src/taw/t_tail/low/low_t_tail_empennage_design.cpp
index 10664758599b78760551db494bb2d0413eea657a..52eb4c1637bc2f815ccd09b61ac6b77abf69770a 100755
--- a/empennage_design/src/taw/t_tail/low/low_t_tail_empennage_design.cpp
+++ b/empennage_design/src/taw/t_tail/low/low_t_tail_empennage_design.cpp
@@ -402,7 +402,7 @@ void T_Tail::flops_mass() {
   const double maximum_takeoff_mass = data->maximum_takeoff_mass.value();
 
   data->vertical_stabilizer_mass.data["mass"] =
-      flops::vertical_stabilizer_mass(config->mass_mode_flops_technology_factor.value(), 1, geom2::measure::reference_area(data->vertical_stabilizer),
+      flops::vertical_stabilizer_mass(config->vertical_stabilizer.mass_mode_flops_technology_factor.value(), 1, geom2::measure::reference_area(data->vertical_stabilizer),
                                       geom2::measure::taper_ratio(data->vertical_stabilizer), maximum_takeoff_mass);
   myRuntimeInfo->out << std::format("Vertical stabilizer mass ... {}",
                                     data->vertical_stabilizer_mass.data["mass"].value())
@@ -420,7 +420,7 @@ void T_Tail::flops_mass() {
 
   /* Horizontal stabilizer mass and cog */
   data->horizontal_stabilizer_mass.data["mass"] =
-      flops::horizontal_stabilizer_mass(config->mass_mode_flops_technology_factor.value(), geom2::measure::reference_area(data->horizontal_stabilizer),
+      flops::horizontal_stabilizer_mass(config->horizontal_stabilizer.mass_mode_flops_technology_factor.value(), geom2::measure::reference_area(data->horizontal_stabilizer),
                                         geom2::measure::taper_ratio(data->horizontal_stabilizer), maximum_takeoff_mass);
   myRuntimeInfo->out << std::format("Horizontal stabilizer mass ... {:.2f}",
                                     data->horizontal_stabilizer_mass.data["mass"].value())
diff --git a/empennage_design/src/taw/t_tail/t_tail_empennage_design_config.cpp b/empennage_design/src/taw/t_tail/t_tail_empennage_design_config.cpp
index 1e1255d86ca6aba379211f82da44262ae5ac6254..1aa82274958fcbd703e80c7362e0f82b6a2c4b20 100755
--- a/empennage_design/src/taw/t_tail/t_tail_empennage_design_config.cpp
+++ b/empennage_design/src/taw/t_tail/t_tail_empennage_design_config.cpp
@@ -28,7 +28,6 @@ namespace low {
 T_Tail_Config::T_Tail_Config()
     : design_mode(EndnodeReadOnly<std::string>("module_configuration_file/program_settings/modes/design_mode")),
       mass_mode(EndnodeReadOnly<std::string>("module_configuration_file/program_settings/modes/mass_mode")),
-      mass_mode_flops_technology_factor(EndnodeReadOnly<double>("module_configuration_file/program_settings/modes/mass_mode/parameters/mode_0/technology_factor")),
       vertical_stabilizer(TailElement(
           "module_configuration_file/program_settings/tube_and_wing/low_fidelity/t_tail/tail_element@0/")),
       horizontal_stabilizer(TailElement(
@@ -38,7 +37,6 @@ T_Tail_Config::T_Tail_Config()
 void T_Tail_Config::read(const node& xml) {
   design_mode.read(xml);
   mass_mode.read(xml);
-  mass_mode_flops_technology_factor.read(xml);
   common_airfoil_data_path.read(xml);
   vertical_stabilizer.read(xml);
   horizontal_stabilizer.read(xml);
diff --git a/empennage_design/src/taw/t_tail/t_tail_empennage_design_config.h b/empennage_design/src/taw/t_tail/t_tail_empennage_design_config.h
index a09da17ea182128ce11ccf04a12802cf192048a0..43b77e889ca454abd4a595beb6f72ad4402f4247 100755
--- a/empennage_design/src/taw/t_tail/t_tail_empennage_design_config.h
+++ b/empennage_design/src/taw/t_tail/t_tail_empennage_design_config.h
@@ -39,7 +39,6 @@ class T_Tail_Config {
   EndnodeReadOnly<std::string> common_airfoil_data_path;
   EndnodeReadOnly<std::string> design_mode;
   EndnodeReadOnly<std::string> mass_mode;
-  EndnodeReadOnly<double> mass_mode_flops_technology_factor;
   TailElement vertical_stabilizer;
   TailElement horizontal_stabilizer;
 };