diff --git a/aerodynamic_analysis/aerodynamic_analysis_conf.xml b/aerodynamic_analysis/aerodynamic_analysis_conf.xml
index 327d3d1b905403025cd142d90e7ce8d834c07ad6..45be3c07c6e974dc2883c4c0494538f54d73ece9 100644
--- a/aerodynamic_analysis/aerodynamic_analysis_conf.xml
+++ b/aerodynamic_analysis/aerodynamic_analysis_conf.xml
@@ -104,6 +104,21 @@
             </bwbStrategies>
         </aeroStrategySelection>
         <FlightConditions description="Flight State">
+			<AdaptMachNumbersToCruiseReq>
+				<value>true</value>
+				<default>true</default>
+			</AdaptMachNumbersToCruiseReq>
+		    <extrapolation_margin description="Margin for extrapolation">
+                <value>1</value>
+                <default>1</default>
+                <unit>1</unit>
+                <lower_boundary>0</lower_boundary>
+                <upper_boundary>1.1</upper_boundary>
+            </extrapolation_margin>
+		    <allow_grid_change description="Switch to allow grid change. Switch: true (On) / false (Off)">
+                <value>true</value>
+                <default>true</default>
+            </allow_grid_change>
             <FlightCondition ID="0" description="Description of the flight condition">
                 <extrapolation_margin description="Margin for extrapolation">
                     <value>1</value>
diff --git a/aerodynamic_analysis/src/taw/tawCalculatePolarConfig.cpp b/aerodynamic_analysis/src/taw/tawCalculatePolarConfig.cpp
index a79dbd21fbe72db78da7d65f30cbb1fca837c721..b0ff93ed82ed9f289e25c11c98a0cda34cf5be30 100644
--- a/aerodynamic_analysis/src/taw/tawCalculatePolarConfig.cpp
+++ b/aerodynamic_analysis/src/taw/tawCalculatePolarConfig.cpp
@@ -49,7 +49,7 @@ tawCalculatePolarConfig::tawCalculatePolarConfig(const node& config)
     stepWidthCL(EndnodeReadOnly<double>("LiftingLineForTAW/stepWidthCL").read(config)),
     // other settings
     CLModeAirfoilSelection(EndnodeReadOnly<std::string>("program_settings/CLModeAirfoilSelection").read(config)),
-    setFlightConditionsMode(EndnodeReadOnly<std::string>("program_settings/FlightConditions/AdaptMachNumbersToCruiseReq", "mode_0").read(config)),
+    setFlightConditionsMode(EndnodeReadOnly<bool>("program_settings/FlightConditions/AdaptMachNumbersToCruiseReq").read(config).value()),
     pathToLiftingLine(EndnodeReadOnly<std::string>("program_settings/LiftingLine/FolderPath").read(config)),
     // lifting line for TAW pitching moment corrections
     CM_corr_fuselage_mode(EndnodeReadOnly<std::string>("program_settings/LiftingLineForTAW/PitchingMoment/CM_corr_fuselage").read(config)),
@@ -102,24 +102,22 @@ tawCalculatePolarConfig::tawCalculatePolarConfig(const node& config)
     factorDragHL(EndnodeReadOnly<double>("program_settings/SemiEmpiricalHighLiftAdaptions/factorDrag").read(config)),
     // high lift polars settings
     do_individual_hl_calibration(EndnodeReadOnly<bool>("program_settings/SemiEmpiricalHighLiftAdaptions/do_individual_hl_calibration").read(config).value()),
-    apply_manual_CLmax_hl_values(EndnodeReadOnly<bool>("program_settings/SemiEmpiricalHighLiftAdaptions/apply_manual_CLmax_hl_values").read(config).value()) {
+    apply_manual_CLmax_hl_values(EndnodeReadOnly<bool>("program_settings/SemiEmpiricalHighLiftAdaptions/apply_manual_CLmax_hl_values").read(config).value()),
+    autoFC_allowGridChange(EndnodeReadOnly<bool>("program_settings/FlightConditions/allow_grid_change").read(config).value()),
+    autoFC_extrapolationMargin(EndnodeReadOnly<double>("program_settings/FlightConditions/extrapolation_margin").read(config).value()) {
     // Constructor
     liftingLineFolderPath = pathToLiftingLine.value();
     myRuntimeInfo->out << "config: " << liftingLineFolderPath << endl;
-    if (setFlightConditionsMode.value() == "mode_0") {
-        myRuntimeInfo->info << "set flight conditions from config xml" << endl;
-        size_t numberFlightConditions(config.getVector(("program_settings/FlightConditions/FlightCondition"), 2).size());
-        for (size_t i(0); i < numberFlightConditions; i++) {
-            readFlightConditions(config, i);
-        }
-        //Sort flight conditions asc by Mach numbers
-        std::sort(flightConditions.begin(), flightConditions.end(),
-                    [](const flightCondition& firstFC, const flightCondition& secondFC) {
-                        return firstFC.Mach <= secondFC.Mach;
-                    });
-    } else if (setFlightConditionsMode.value() == "mode_1") {
-        myRuntimeInfo->info << "Hab vergessen was hier rein sollte" << endl;
+    myRuntimeInfo->info << "set flight conditions from config xml" << endl;
+    size_t numberFlightConditions(config.getVector(("program_settings/FlightConditions/FlightCondition"), 2).size());
+    for (size_t i(0); i < numberFlightConditions; i++) {
+        readFlightConditions(config, i);
     }
+    // Sort flight conditions asc by Mach numbers
+    std::sort(flightConditions.begin(), flightConditions.end(),
+                [](const flightCondition& firstFC, const flightCondition& secondFC) {
+                    return firstFC.Mach <= secondFC.Mach;
+                });
     this->initializeTrimSettings(config);
     this->read_hl_calibration_factors(config);
 }
@@ -180,6 +178,9 @@ void tawCalculatePolarConfig::read_hl_calibration_factors(const node& config) {
         EndnodeReadOnly factor_CDNode(EndnodeReadOnly<double>("SemiEmpiricalHighLiftAdaptions/hl_polars_correction_values/hl_polar@"
                                                             + num2Str(HLPolarID) + "/factor_CD").read(config));
         hl_polar_calibration_values aHLPolarCalibrationContainer;
+        aHLPolarCalibrationContainer.CL_max = 0.0;
+        aHLPolarCalibrationContainer.delta_CD = 0.0;
+        aHLPolarCalibrationContainer.factor_CD = 0.0;
         hl_polar_calibration_data[configurationNode.value()] = aHLPolarCalibrationContainer;
         hl_polar_calibration_data.at(configurationNode.value()).CL_max = CLMaxNode.value();
         hl_polar_calibration_data.at(configurationNode.value()).delta_CD = delta_CDNode.value();
diff --git a/aerodynamic_analysis/src/taw/tawCalculatePolarConfig.h b/aerodynamic_analysis/src/taw/tawCalculatePolarConfig.h
index 049213a36de5017d1c8559856f02a98a39d95999..8f60d2424782d0ecd614214b82a17012811df75f 100644
--- a/aerodynamic_analysis/src/taw/tawCalculatePolarConfig.h
+++ b/aerodynamic_analysis/src/taw/tawCalculatePolarConfig.h
@@ -45,7 +45,9 @@ class tawCalculatePolarConfig{
     EndnodeReadOnly<double> stepWidthCL;
     EndnodeReadOnly<std::string> CLModeAirfoilSelection;
     // fligt condition parameters
-    EndnodeReadOnly<std::string> setFlightConditionsMode;
+    bool setFlightConditionsMode;
+    bool autoFC_allowGridChange;
+    double autoFC_extrapolationMargin;
     // lifting line pitching moment parameters
     EndnodeReadOnly<std::string> CM_corr_fuselage_mode;
     EndnodeReadOnly<std::string> CM_corr_nacelle_mode;
diff --git a/aerodynamic_analysis/src/taw/tawDefaultStrategy.cpp b/aerodynamic_analysis/src/taw/tawDefaultStrategy.cpp
index 6663ab4146cc56f6ee005354004728bdd24bd338..8bb1d2609915fe0d9a599689bfe90dfdf6a469f0 100644
--- a/aerodynamic_analysis/src/taw/tawDefaultStrategy.cpp
+++ b/aerodynamic_analysis/src/taw/tawDefaultStrategy.cpp
@@ -50,6 +50,7 @@
 #include "../methods/waveDragMason.h"
 #include "../methods/semiEmpiricalHighLiftAdaption.h"
 #include "../methods/trimInterpolation.h"
+#include "../flightCondition.h"
 
 using std::endl;
 using std::exception;
@@ -86,6 +87,41 @@ void tawDefaultStrategy::run() {
         CoGPositions["aft"] = data_->aftCoG;
     }
 
+    // set individual flight conditions if enabled
+    if (config_->setFlightConditionsMode) {
+        myRuntimeInfo->out << "test" << endl;
+        config_->flightConditions.clear();
+        config_->machNumbers.clear();
+        config_->flightConditions.push_back(flightCondition());
+        config_->flightConditions.back().Mach = 0.2;
+        config_->flightConditions.back().Altitude = 0;
+        config_->flightConditions.back().extrapolationMargin = config_->autoFC_extrapolationMargin;
+        config_->flightConditions.back().allowGridChange = config_->autoFC_allowGridChange;
+        config_->machNumbers.push_back(config_->flightConditions.back().Mach);
+
+        config_->flightConditions.push_back(flightCondition());
+        config_->flightConditions.back().Mach = 0.5;
+        config_->flightConditions.back().Altitude = 3048;
+        config_->flightConditions.back().extrapolationMargin = config_->autoFC_extrapolationMargin;
+        config_->flightConditions.back().allowGridChange = config_->autoFC_allowGridChange;
+        config_->machNumbers.push_back(config_->flightConditions.back().Mach);
+
+        config_->flightConditions.push_back(flightCondition());
+        config_->flightConditions.back().Mach = 0.6;
+        config_->flightConditions.back().Altitude = 6096;
+        config_->flightConditions.back().extrapolationMargin = config_->autoFC_extrapolationMargin;
+        config_->flightConditions.back().allowGridChange = config_->autoFC_allowGridChange;
+        config_->machNumbers.push_back(config_->flightConditions.back().Mach);
+
+        config_->flightConditions.push_back(flightCondition());
+        config_->flightConditions.back().Mach = data_->initialCruiseMachNumber - 0.2;
+        config_->flightConditions.back().Altitude = 77776;
+        config_->flightConditions.back().extrapolationMargin = config_->autoFC_extrapolationMargin;
+        config_->flightConditions.back().allowGridChange = config_->autoFC_allowGridChange;
+        config_->machNumbers.push_back(config_->flightConditions.back().Mach);
+        exit(1);
+    }
+
     // loop over all cg positions and stabilizer angles
     for (size_t CGID(0); CGID < config_->CGPositions.size(); ++CGID) {
         for (size_t stabID(0); stabID < config_->stabAngles.size(); ++stabID) {