diff --git a/apps/CodegenHeatEquationWithMaterial.cpp b/apps/CodegenHeatEquationWithMaterial.cpp
index eddfa2e4e4a9fc7194f03df086c788c0a8ce81b3..324791ca5770a6dbde5d3fbae1a6615d1eaaf056 100644
--- a/apps/CodegenHeatEquationWithMaterial.cpp
+++ b/apps/CodegenHeatEquationWithMaterial.cpp
@@ -22,7 +22,6 @@
 #include "timeloop/SweepTimeloop.h"
 
 #include "gen/HeatEquationKernelWithMaterial.hpp"
-// #include "interpolate_binary_search_cpp.h"
 
 namespace walberla
 {
@@ -165,114 +164,4 @@ int main(int argc, char** argv)
 }
 }
 
-
-void test_performance() {
-    // Configuration parameters
-    constexpr int warmupSteps = 5;
-    constexpr int outerIterations = 10;
-    constexpr int numCells = 64*64*64;
-
-    // Setup test data
-    SS316L test;
-    std::vector<double> random_energies(numCells);
-
-    // Generate random values
-    std::random_device rd;
-    std::mt19937 gen(rd());
-    const double E_min = SS316L::E_neq.front() * 0.8;
-    const double E_max = SS316L::E_neq.back() * 1.2;
-    std::uniform_real_distribution<double> dist(E_min, E_max);
-
-    // Fill random energies
-    for(auto& E : random_energies) {
-        E = dist(gen);
-    }
-
-    // Warmup runs
-    std::cout << "Performing warmup steps..." << std::endl;
-    for(int i = 0; i < warmupSteps; ++i) {
-        for(const double& E : random_energies) {
-            // volatile double result = interpolate_double_lookup(E, test);
-            volatile double result = test.interpolateDL(E);
-        }
-    }
-    for(int i = 0; i < warmupSteps; ++i) {
-        for(const double& E : random_energies) {
-            volatile double result = test.interpolateBS(E);
-        }
-    }
-
-    // Performance measurement
-    std::cout << "\nStarting performance measurement..." << std::endl;
-    std::vector<double> timings_binary;
-    std::vector<double> timings_double_lookup;
-
-    for(int iter = 0; iter < outerIterations; ++iter) {
-        std::cout << "\nIteration " << iter + 1 << "/" << outerIterations << std::endl;
-
-        // Double Lookup timing
-        {
-            const auto start1 = std::chrono::high_resolution_clock::now();
-            for(const double& E : random_energies) {
-                volatile double result = test.interpolateDL(E);
-            }
-            const auto end1 = std::chrono::high_resolution_clock::now();
-            const auto duration1 = std::chrono::duration_cast<std::chrono::nanoseconds>(
-                end1 - start1).count();
-            timings_double_lookup.push_back(static_cast<double>(duration1));
-
-            std::cout << "Double Lookup - Iteration time: " << duration1 << " ns" << std::endl;
-        }
-
-        // Binary Search timing
-        {
-            const auto start2 = std::chrono::high_resolution_clock::now();
-            for(const double& E : random_energies) {
-                volatile double result = test.interpolateBS(E);
-            }
-            const auto end2 = std::chrono::high_resolution_clock::now();
-            const auto duration2 = std::chrono::duration_cast<std::chrono::nanoseconds>(
-                end2 - start2).count();
-            timings_binary.push_back(static_cast<double>(duration2));
-
-            std::cout << "Binary Search - Iteration time: " << duration2 << " ns" << std::endl;
-        }
-    }
-
-    // Calculate and print statistics
-    auto calc_stats = [](const std::vector<double>& timings) {
-        double sum = std::accumulate(timings.begin(), timings.end(), 0.0);
-        double mean = sum / static_cast<double>(timings.size());
-        double sq_sum = std::inner_product(timings.begin(), timings.end(),
-                                         timings.begin(), 0.0);
-        double stdev = std::sqrt(sq_sum / static_cast<double>(timings.size()) - mean * mean);
-        return std::make_pair(mean, stdev);
-    };
-
-    auto [binary_mean, binary_stdev] = calc_stats(timings_binary);
-    auto [lookup_mean, lookup_stdev] = calc_stats(timings_double_lookup);
-
-    std::cout << "\nPerformance Results (" << numCells << " cells, "
-              << outerIterations << " iterations):" << std::endl;
-    std::cout << "Binary Search:" << std::endl;
-    std::cout << "  Mean time: " << binary_mean << " ± " << binary_stdev << " ns" << std::endl;
-    std::cout << "  Per cell: " << binary_mean/numCells << " ns" << std::endl;
-
-    std::cout << "Double Lookup:" << std::endl;
-    std::cout << "  Mean time: " << lookup_mean << " ± " << lookup_stdev << " ns" << std::endl;
-    std::cout << "  Per cell: " << lookup_mean/numCells << " ns" << std::endl;
-}
-
-
-int main(int argc, char** argv)
-{
-   walberla::main(argc, argv);
-
-   /*constexpr SS316L_1 test_1;
-   const double result_1 = test_1.interpolateDL(7.88552550e+09);
-   const double result_2 = test_1.interpolateDL(1.02864255e+10);
-   std::cout << result_1 << std::endl;
-   std::cout << result_2 << std::endl;*/
-
-   test_performance();
-}
+int main(int argc, char** argv) { walberla::main(argc, argv); }
diff --git a/apps/HeatEquationKernelWithMaterial.py b/apps/HeatEquationKernelWithMaterial.py
index 9d5987a990a0a3a943b0878a2308e28e7eaa117c..84ae961aa1430eec3aecc9ac15d007ba681c385f 100644
--- a/apps/HeatEquationKernelWithMaterial.py
+++ b/apps/HeatEquationKernelWithMaterial.py
@@ -35,7 +35,7 @@ with SourceFileGenerator() as sfg:
     from importlib.resources import files
     # Access the YAML file as a package resource
     yaml_path = files('pymatlib.data.alloys.SS316L').joinpath('SS304L.yaml')
-    mat = create_alloy_from_yaml(str(yaml_path), u.center())
+    mat = create_alloy_from_yaml(yaml_path, u.center())
     # yaml_path_1 = files('pymatlib.data.alloys.SS316L').joinpath('SS304L_1.yaml')
     # mat1 = create_alloy_from_yaml(str(yaml_path_1), u.center())