diff --git a/src/storm-pars/analysis/MonotonicityChecker.cpp b/src/storm-pars/analysis/MonotonicityChecker.cpp
index 6c3518acf..8687a0566 100644
--- a/src/storm-pars/analysis/MonotonicityChecker.cpp
+++ b/src/storm-pars/analysis/MonotonicityChecker.cpp
@@ -550,12 +550,16 @@ namespace storm {
             auto matrix = model->getTransitionMatrix();
             std::set<typename utility::parametric::VariableType<ValueType>::type> variables =  storm::models::sparse::getProbabilityParameters(*model);
 
+            // For each of the variables create a model in which we only change the value for this specific variable
             for (auto itr = variables.begin(); itr != variables.end(); ++itr) {
                 double previous = -1;
                 bool monDecr = true;
                 bool monIncr = true;
 
+                // Check monotonicity in variable (*itr) by instantiating the model
+                // all other variables fixed on lb, only increasing (*itr)
                 for (auto i = 0; (monDecr || monIncr) && i < numberOfSamples; ++i) {
+                    // Create valuation
                     auto valuation = storm::utility::parametric::Valuation<ValueType>();
                     for (auto itr2 = variables.begin(); itr2 != variables.end(); ++itr2) {
                         // Only change value for current variable
@@ -563,19 +567,14 @@ namespace storm {
                             auto lb = region.getLowerBoundary(itr->name());
                             auto ub = region.getUpperBoundary(itr->name());
                             // Creates samples between lb and ub, that is: lb, lb + (ub-lb)/(#samples -1), lb + 2* (ub-lb)/(#samples -1), ..., ub
-                            auto val =
-                                    std::pair<typename utility::parametric::VariableType<ValueType>::type, typename utility::parametric::CoefficientType<ValueType>::type>
-                                            (*itr,utility::convertNumber<typename utility::parametric::CoefficientType<ValueType>::type>(lb + i*(ub-lb)/(numberOfSamples-1)));
-                            valuation.insert(val);
-
+                            valuation[*itr2] = utility::convertNumber<typename utility::parametric::CoefficientType<ValueType>::type>(lb + i*(ub-lb)/(numberOfSamples-1));
                         } else {
                             auto lb = region.getLowerBoundary(itr->name());
-                            auto val =
-                                    std::pair<typename utility::parametric::VariableType<ValueType>::type, typename utility::parametric::CoefficientType<ValueType>::type>
-                                            (*itr,utility::convertNumber<typename utility::parametric::CoefficientType<ValueType>::type>(lb));
-                            valuation.insert(val);
+                            valuation[*itr2] = utility::convertNumber<typename utility::parametric::CoefficientType<ValueType>::type>(lb);
                         }
                     }
+
+                    // Instantiate model and get result
                     storm::models::sparse::Dtmc<double> sampleModel = instantiator.instantiate(valuation);
                     auto checker = storm::modelchecker::SparseDtmcPrctlModelChecker<storm::models::sparse::Dtmc<double>>(sampleModel);
                     std::unique_ptr<storm::modelchecker::CheckResult> checkResult;
@@ -598,9 +597,11 @@ namespace storm {
                     std::vector<double> values = quantitativeResult.getValueVector();
                     auto initialStates = model->getInitialStates();
                     double initial = 0;
+                    // Get total probability from initial states
                     for (auto j = initialStates.getNextSetIndex(0); j < model->getNumberOfStates(); j = initialStates.getNextSetIndex(j+1)) {
                         initial += values[j];
                     }
+                    // Calculate difference with result for previous valuation
                     assert (initial >= 0-precision && initial <= 1+precision);
                     double diff = previous - initial;
                     assert (previous == -1 || diff >= -1-precision && diff <= 1 + precision);