diff --git a/Examples/cpp/CylindersAndPrisms/CylindersAndPrisms.cpp b/Examples/cpp/CylindersAndPrisms/CylindersAndPrisms.cpp
index c8a01275d03809b48b18366dbce62a35acb8cb28..3aaa0f9f33ac4f0e7834c79ae6245aae2bbe848a 100644
--- a/Examples/cpp/CylindersAndPrisms/CylindersAndPrisms.cpp
+++ b/Examples/cpp/CylindersAndPrisms/CylindersAndPrisms.cpp
@@ -19,7 +19,7 @@
 #include "Histogram2D.h"
 #include "IntensityDataIOFactory.h"
 #include "Layer.h"
-#include "Materials.h"
+#include "MaterialFactoryFuncs.h"
 #include "MultiLayer.h"
 #include "Particle.h"
 #include "ParticleLayout.h"
@@ -29,14 +29,14 @@
 int main()
 {
     // Define the sample
-    HomogeneousMaterial air_material("Air", 0., 0.);
-    HomogeneousMaterial substrate_material("Substrate", 6e-6, 2e-8);
+    Material air_material = HomogeneousMaterial("Air", 0., 0.);
+    Material substrate_material = HomogeneousMaterial("Substrate", 6e-6, 2e-8);
 
     Layer air_layer(air_material);
     Layer substrate_layer(substrate_material);
 
     ParticleLayout particle_layout;
-    HomogeneousMaterial particle_material("Particle", 6e-4, 2e-8);
+    Material particle_material = HomogeneousMaterial("Particle", 6e-4, 2e-8);
 
     Particle cylinder(particle_material,
                       FormFactorCylinder(5*Units::nanometer, 5*Units::nanometer));
diff --git a/unused/MatrixSpecularInfoMapTest.h b/unused/MatrixSpecularInfoMapTest.h
index 61fb53e3f867bc8cc980fd6992ac2bff7fe36429..fbbdbeace96433fd42202342f8f7dd6baadded36 100644
--- a/unused/MatrixSpecularInfoMapTest.h
+++ b/unused/MatrixSpecularInfoMapTest.h
@@ -1,8 +1,8 @@
 #ifndef MATRIXSPECULARINFOMAPTEST_H
 #define MATRIXSPECULARINFOMAPTEST_H
 
-#include "HomogeneousMaterial.h"
 #include "Layer.h"
+#include "MaterialFactoryFuncs.h"
 #include "MatrixRTCoefficients.h"
 #include "MatrixFresnelMap.h"
 #include "MultiLayer.h"
@@ -24,8 +24,8 @@ MatrixSpecularInfoMapTest::MatrixSpecularInfoMapTest()
 {
     mp_multilayer = new MultiLayer;
 
-    HomogeneousMaterial air_material("Air", 0., 0.);
-    HomogeneousMaterial substrate_material("Substrate", 0.2, 0.02);
+    Material air_material = HomogeneousMaterial("Air", 0., 0.);
+    Material substrate_material = HomogeneousMaterial("Substrate", 0.2, 0.02);
 
     Layer air_layer(air_material);
     Layer substrate_layer(substrate_material);
diff --git a/unused/ScalarSpecularInfoMapTest.h b/unused/ScalarSpecularInfoMapTest.h
index 71100204e55814f4d3b366f2f5995aedf0c3cc27..82c1966f4a4908e51bba2f9044e5b51abef8e57a 100644
--- a/unused/ScalarSpecularInfoMapTest.h
+++ b/unused/ScalarSpecularInfoMapTest.h
@@ -2,8 +2,8 @@
 #define SCALARSPECULARINFOMAPTEST_H
 
 #include "MultiLayer.h"
-#include "HomogeneousMaterial.h"
 #include "Layer.h"
+#include "MaterialFactoryFuncs.h"
 #include "MathConstants.h"
 #include "ScalarRTCoefficients.h"
 #include "ScalarSpecularInfoMap.h"
@@ -23,8 +23,8 @@ ScalarSpecularInfoMapTest::ScalarSpecularInfoMapTest()
 {
     mp_multilayer = new MultiLayer;
 
-    HomogeneousMaterial air_material("Air", 0., 0.);
-    HomogeneousMaterial substrate_material("Substrate", 0.2, 0.02);
+    Material air_material = HomogeneousMaterial("Air", 0., 0.);
+    Material substrate_material = HomogeneousMaterial("Substrate", 0.2, 0.02);
 
     Layer air_layer(air_material);
     Layer substrate_layer(substrate_material);