diff --git a/GUI/coregui/Models/DomainObjectBuilder.cpp b/GUI/coregui/Models/DomainObjectBuilder.cpp
index dcd6a4d2e8e4eee94d412132b1980ec832b437d6..b767c1f09ddbbc53e2c4b7b802f94697b2da2ed9 100644
--- a/GUI/coregui/Models/DomainObjectBuilder.cpp
+++ b/GUI/coregui/Models/DomainObjectBuilder.cpp
@@ -15,6 +15,8 @@
 
 #include "DomainObjectBuilder.h"
 #include "TransformToDomain.h"
+#include "GUIHelpers.h"
+#include <QDebug>
 
 #include <boost/scoped_ptr.hpp>
 
@@ -87,16 +89,31 @@ ParticleLayout *DomainObjectBuilder::buildParticleLayout(
                 result->addParticle(*particle, depth, abundance);
             }
         }
-    }
+        else if(children[i]->modelType().startsWith("InterferenceFunction")) {
+            boost::scoped_ptr<IInterferenceFunction>
+                    interference(buildInterferenceFunction(*children[i]));
+            if (interference.get()) {
+                result->addInterferenceFunction(*interference);
+            }
+        }
 
+        else {
+            throw GUIHelpers::Error("DomainObjectBuilder::buildParticleLayout() -> Error! Not implemented");
+        }
+    }
     return result;
 }
 
 
 Particle *DomainObjectBuilder::buildParticle(const ParameterizedItem &item, double &depth, double &abundance) const
 {
-    Particle *particle = TransformToDomain::createParticle(item, depth, abundance);
-    return particle;
+    Particle *result = TransformToDomain::createParticle(item, depth, abundance);
+    return result;
 }
 
+IInterferenceFunction *DomainObjectBuilder::buildInterferenceFunction(const ParameterizedItem &item) const
+{
+    IInterferenceFunction *result = TransformToDomain::createInterferenceFunction(item);
+    return result;
+}
 
diff --git a/GUI/coregui/Models/DomainObjectBuilder.h b/GUI/coregui/Models/DomainObjectBuilder.h
index ddd3fa52e4d7e4708cf730a0d919926f244abd89..1ede82b8892225aadc8e74f715d5f2d758d4c767 100644
--- a/GUI/coregui/Models/DomainObjectBuilder.h
+++ b/GUI/coregui/Models/DomainObjectBuilder.h
@@ -17,6 +17,7 @@
 #define DOMAINOBJECTBUILDER_H
 
 #include "Samples.h"
+#include "InterferenceFunctions.h"
 #include "ParameterizedItem.h"
 
 class DomainObjectBuilder
@@ -36,6 +37,7 @@ private:
     Layer *buildLayer(const ParameterizedItem &item) const;
     ParticleLayout *buildParticleLayout(const ParameterizedItem &item) const;
     Particle *buildParticle(const ParameterizedItem &item, double &depth, double &abundance) const;
+    IInterferenceFunction *buildInterferenceFunction(const ParameterizedItem &item) const;
     ISample *mp_sample;
 };
 
diff --git a/GUI/coregui/Models/GUIObjectBuilder.cpp b/GUI/coregui/Models/GUIObjectBuilder.cpp
index 92f9ec1bac1c5f97f4ae527376b601ab22de737f..71717db190380182f54679d6ab568063796c1e31 100644
--- a/GUI/coregui/Models/GUIObjectBuilder.cpp
+++ b/GUI/coregui/Models/GUIObjectBuilder.cpp
@@ -295,14 +295,7 @@ void GUIObjectBuilder::visit(const FormFactorTruncatedSpheroid *sample)
 
 void GUIObjectBuilder::visit(const InterferenceFunction1DParaCrystal *sample)
 {
-    qDebug() << "GUIObjectBuilder::visit(const InterferenceFunction1DParaCrystal *)" << getLevel();
-
-    qDebug() << " ";
-    qDebug() << " ";
-    qDebug() << " ";
-
     ParameterizedItem *parent = m_levelToParent[getLevel()-1];
-    qDebug() << " " << parent->itemName() << parent->modelType();
     Q_ASSERT(parent);
     ParameterizedItem *item = m_sessionModel->insertNewItem("InterferenceFunction1DParaCrystal", m_sessionModel->indexOfItem(parent));
     Q_ASSERT(item);
diff --git a/GUI/coregui/Models/TransformToDomain.cpp b/GUI/coregui/Models/TransformToDomain.cpp
index 829f154047f7bc051dbecb64cf7821e48c787ccc..1aafb8683d86e74e57bda10359cf7e74b753e97a 100644
--- a/GUI/coregui/Models/TransformToDomain.cpp
+++ b/GUI/coregui/Models/TransformToDomain.cpp
@@ -102,4 +102,19 @@ IFormFactor *TransformToDomain::createFormFactor(const ParameterizedItem &item)
 }
 
 
+IInterferenceFunction *TransformToDomain::createInterferenceFunction(const ParameterizedItem &item)
+{
+    IInterferenceFunction *result(0);
+
+    if(item.modelType() == "InterferenceFunction1DParaCrystal") {
+        result = new InterferenceFunction1DParaCrystal(
+                    item.property("PeakDistance").toDouble(),
+                    item.property("Width").toDouble(),
+                    item.property("CorrLength").toDouble()
+                    );
+    }
+
+    return result;
+}
+
 
diff --git a/GUI/coregui/Models/TransformToDomain.h b/GUI/coregui/Models/TransformToDomain.h
index 0fc54dd0b3c8f26eed54525fa62bb6b9b7aebdba..0ee669a7c6fd07571daace5dea72dd982ce55acb 100644
--- a/GUI/coregui/Models/TransformToDomain.h
+++ b/GUI/coregui/Models/TransformToDomain.h
@@ -17,18 +17,18 @@
 #define TRANSFORMTODOMAIN_H
 
 #include "Samples.h"
+#include "InterferenceFunctions.h"
 #include "ParameterizedItem.h"
 
 namespace TransformToDomain
 {
+IMaterial *createDomainMaterial(const ParameterizedItem &item);
 MultiLayer *createMultiLayer(const ParameterizedItem &item);
 Layer *createLayer(const ParameterizedItem &item);
 ParticleLayout *createParticleLayout(const ParameterizedItem &item);
 Particle *createParticle(const ParameterizedItem &item, double &depth, double &abundance);
 IFormFactor *createFormFactor(const ParameterizedItem &item);
-
-IMaterial *createDomainMaterial(const ParameterizedItem &item);
-
+IInterferenceFunction *createInterferenceFunction(const ParameterizedItem &item);
 }
 
 #endif // TRANSFORMTODOMAIN_H
diff --git a/GUI/coregui/Views/Components/MaterialEditor/MaterialUtils.cpp b/GUI/coregui/Views/Components/MaterialEditor/MaterialUtils.cpp
index e7d46f6e17ce30aa2c1f5ed9d2cb9da686d60ea6..aada5883f3fc340d5065e6f192bad2764da317e4 100644
--- a/GUI/coregui/Views/Components/MaterialEditor/MaterialUtils.cpp
+++ b/GUI/coregui/Views/Components/MaterialEditor/MaterialUtils.cpp
@@ -10,13 +10,13 @@
 
 QColor MaterialUtils::suggestMaterialColor(const QString &name)
 {
-    if(name == QStringLiteral("Air") ) {
+    if(name.contains("Air") ) {
         return QColor(179, 242, 255);
-    } else if(name == QStringLiteral("Substrate") ) {
+    } else if(name.contains("Substrate") ) {
         return QColor(205,102,0);
-    } else if ( name == QStringLiteral("Default") ) {
+    } else if ( name.contains("Default") ) {
         return QColor(Qt::green);
-    } else if ( name == QStringLiteral("Particle") ) {
+    } else if ( name.contains("Particle") ) {
         return QColor(146, 198, 255);
     }
     return DesignerHelper::getRandomColor();