diff --git a/GUI/coregui/Models/DetectorItems.cpp b/GUI/coregui/Models/DetectorItems.cpp
index 99cdca8cb33f0991d625cb039977945ae3d21791..6ef0e243cd61057d1c1ce53d40b48ec6548659ea 100644
--- a/GUI/coregui/Models/DetectorItems.cpp
+++ b/GUI/coregui/Models/DetectorItems.cpp
@@ -129,8 +129,8 @@ void DetectorItem::addMasksToDomain(IDetector2D* detector) const
 
     const double scale = axesToDomainUnitsFactor();
 
-    for (int i_row = maskContainer->childItems().size(); i_row > 0; --i_row) {
-        if (auto maskItem = dynamic_cast<MaskItem*>(maskContainer->childItems().at(i_row - 1))) {
+    for (int i_row = maskContainer->children().size(); i_row > 0; --i_row) {
+        if (auto maskItem = dynamic_cast<MaskItem*>(maskContainer->children().at(i_row - 1))) {
 
             if (maskItem->modelType() == Constants::RegionOfInterestType) {
                 double xlow = scale * maskItem->getItemValue(RectangleItem::P_XLOW).toDouble();
diff --git a/GUI/coregui/Models/DomainObjectBuilder.cpp b/GUI/coregui/Models/DomainObjectBuilder.cpp
index 0a33ba4de3f7d887fa1bab56f71a1ef54cf483ac..9e6aaa2be047ee9466271be07a337dad0ebed150 100644
--- a/GUI/coregui/Models/DomainObjectBuilder.cpp
+++ b/GUI/coregui/Models/DomainObjectBuilder.cpp
@@ -35,7 +35,7 @@ std::unique_ptr<MultiLayer> DomainObjectBuilder::buildMultiLayer(
     const SessionItem& multilayer_item) const
 {
     auto P_multilayer = TransformToDomain::createMultiLayer(multilayer_item);
-    QVector<SessionItem *> children = multilayer_item.childItems();
+    QVector<SessionItem *> children = multilayer_item.children();
     for (int i = 0; i < children.size(); ++i) {
         if (children[i]->modelType() == Constants::LayerType) {
             auto P_layer = buildLayer(*children[i]);
@@ -57,7 +57,7 @@ std::unique_ptr<MultiLayer> DomainObjectBuilder::buildMultiLayer(
 std::unique_ptr<Layer> DomainObjectBuilder::buildLayer(const SessionItem& item) const
 {
     auto P_layer = TransformToDomain::createLayer(item);
-    QVector<SessionItem *> children = item.childItems();
+    QVector<SessionItem *> children = item.children();
     for (int i = 0; i < children.size(); ++i) {
         if (children[i]->modelType() == Constants::ParticleLayoutType) {
             auto P_layout = buildParticleLayout(*children[i]);
diff --git a/GUI/coregui/Models/JobModel.cpp b/GUI/coregui/Models/JobModel.cpp
index 109f201f9236f2c1330e3ccd6feb5629321c1984..4bc30e2bc900ce3c5d93889a1414c1a18ba59225 100644
--- a/GUI/coregui/Models/JobModel.cpp
+++ b/GUI/coregui/Models/JobModel.cpp
@@ -202,6 +202,6 @@ void JobModel::restoreItem(SessionItem *item)
     if (ParameterItem *parameter = dynamic_cast<ParameterItem*>(item))
         parameter->restoreFromBackup();
 
-    for (auto child : item->childItems())
+    for (auto child : item->children())
         restoreItem(child);
 }
diff --git a/GUI/coregui/Models/MesoCrystalItem.cpp b/GUI/coregui/Models/MesoCrystalItem.cpp
index 1d23688af57bbead0e010481de26442b8639eab8..ba97b12436c081609c068821a6520a32b920e9fd 100644
--- a/GUI/coregui/Models/MesoCrystalItem.cpp
+++ b/GUI/coregui/Models/MesoCrystalItem.cpp
@@ -149,19 +149,19 @@ Lattice MesoCrystalItem::getLattice() const
 
 std::unique_ptr<IParticle> MesoCrystalItem::getBasis() const
 {
-    QVector<SessionItem *> children = childItems();
-    for (int i = 0; i < children.size(); ++i) {
-        if (children[i]->modelType() == Constants::ParticleType) {
-            auto *particle_item = static_cast<ParticleItem*>(children[i]);
+    QVector<SessionItem *> childlist = children();
+    for (int i = 0; i < childlist.size(); ++i) {
+        if (childlist[i]->modelType() == Constants::ParticleType) {
+            auto *particle_item = static_cast<ParticleItem*>(childlist[i]);
             return particle_item->createParticle();
-        } else if (children[i]->modelType() == Constants::ParticleCoreShellType) {
-            auto *particle_coreshell_item = static_cast<ParticleCoreShellItem*>(children[i]);
+        } else if (childlist[i]->modelType() == Constants::ParticleCoreShellType) {
+            auto *particle_coreshell_item = static_cast<ParticleCoreShellItem*>(childlist[i]);
             return particle_coreshell_item->createParticleCoreShell();
-        } else if (children[i]->modelType() == Constants::ParticleCompositionType) {
-            auto *particlecomposition_item = static_cast<ParticleCompositionItem*>(children[i]);
+        } else if (childlist[i]->modelType() == Constants::ParticleCompositionType) {
+            auto *particlecomposition_item = static_cast<ParticleCompositionItem*>(childlist[i]);
             return particlecomposition_item->createParticleComposition();
-        } else if (children[i]->modelType() == Constants::MesoCrystalType) {
-            auto *mesocrystal_item = static_cast<MesoCrystalItem*>(children[i]);
+        } else if (childlist[i]->modelType() == Constants::MesoCrystalType) {
+            auto *mesocrystal_item = static_cast<MesoCrystalItem*>(childlist[i]);
             return mesocrystal_item->createMesoCrystal();
         }
     }
diff --git a/GUI/coregui/Models/ParameterTreeUtils.cpp b/GUI/coregui/Models/ParameterTreeUtils.cpp
index 27195aa85d7475582fbf699c20b523d402469958..2c848233454b8291252757441397aef9996350b7 100644
--- a/GUI/coregui/Models/ParameterTreeUtils.cpp
+++ b/GUI/coregui/Models/ParameterTreeUtils.cpp
@@ -256,7 +256,7 @@ void handleItem(SessionItem* tree, const SessionItem* source)
         return;
     }
 
-    for (SessionItem* child : source->childItems()) {
+    for (SessionItem* child : source->children()) {
         if (child->isVisible() && child->isEnabled()) {
             if (child->modelType() == Constants::PropertyType) {
                 if (child->value().type() == QVariant::Double) {
diff --git a/GUI/coregui/Models/ParticleCompositionItem.cpp b/GUI/coregui/Models/ParticleCompositionItem.cpp
index 78a06f86e078ca8a01e0b79e5ce536a939f3b9f4..17a7a79cd8ed3402a1e08d5af77d12b805c60994 100644
--- a/GUI/coregui/Models/ParticleCompositionItem.cpp
+++ b/GUI/coregui/Models/ParticleCompositionItem.cpp
@@ -75,28 +75,28 @@ std::unique_ptr<ParticleComposition> ParticleCompositionItem::createParticleComp
     double abundance = getItemValue(ParticleItem::P_ABUNDANCE).toDouble();
     auto P_composition = std::make_unique<ParticleComposition>();
     P_composition->setAbundance(abundance);
-    QVector<SessionItem *> children = childItems();
-    for (int i = 0; i < children.size(); ++i) {
-        if (children[i]->modelType() == Constants::ParticleType) {
-            auto *particle_item = static_cast<ParticleItem*>(children[i]);
+    QVector<SessionItem *> childlist = children();
+    for (int i = 0; i < childlist.size(); ++i) {
+        if (childlist[i]->modelType() == Constants::ParticleType) {
+            auto *particle_item = static_cast<ParticleItem*>(childlist[i]);
             auto P_particle = particle_item->createParticle();
             if (P_particle) {
                 P_composition->addParticle(*P_particle);
             }
-        } else if (children[i]->modelType() == Constants::ParticleCoreShellType) {
-            auto *particle_coreshell_item = static_cast<ParticleCoreShellItem*>(children[i]);
+        } else if (childlist[i]->modelType() == Constants::ParticleCoreShellType) {
+            auto *particle_coreshell_item = static_cast<ParticleCoreShellItem*>(childlist[i]);
             auto P_particle_coreshell = particle_coreshell_item->createParticleCoreShell();
             if (P_particle_coreshell) {
                 P_composition->addParticle(*P_particle_coreshell);
             }
-        } else if (children[i]->modelType() == Constants::ParticleCompositionType) {
-            auto *particlecomposition_item = static_cast<ParticleCompositionItem*>(children[i]);
+        } else if (childlist[i]->modelType() == Constants::ParticleCompositionType) {
+            auto *particlecomposition_item = static_cast<ParticleCompositionItem*>(childlist[i]);
             auto P_child_composition = particlecomposition_item->createParticleComposition();
             if (P_child_composition) {
                 P_composition->addParticle(*P_child_composition);
             }
-        } else if (children[i]->modelType() == Constants::MesoCrystalType) {
-            auto *mesocrystal_item = static_cast<MesoCrystalItem*>(children[i]);
+        } else if (childlist[i]->modelType() == Constants::MesoCrystalType) {
+            auto *mesocrystal_item = static_cast<MesoCrystalItem*>(childlist[i]);
             auto P_child_meso = mesocrystal_item->createMesoCrystal();
             if (P_child_meso) {
                 P_composition->addParticle(*P_child_meso);
diff --git a/GUI/coregui/Models/ParticleCoreShellItem.cpp b/GUI/coregui/Models/ParticleCoreShellItem.cpp
index b54f4aabe2f322f6fd9b449fb64dd4d7d2cea65d..142cc1a838c006a4f25824aa09ac57b55f49cf3b 100644
--- a/GUI/coregui/Models/ParticleCoreShellItem.cpp
+++ b/GUI/coregui/Models/ParticleCoreShellItem.cpp
@@ -70,7 +70,6 @@ ParticleCoreShellItem::ParticleCoreShellItem()
 std::unique_ptr<ParticleCoreShell> ParticleCoreShellItem::createParticleCoreShell() const
 {
     double abundance = getItemValue(ParticleItem::P_ABUNDANCE).toDouble();
-    auto children = childItems();
     std::unique_ptr<Particle> P_core {};
     std::unique_ptr<Particle> P_shell {};
     auto core_item = dynamic_cast<ParticleItem*>(getItem(T_CORE));
diff --git a/GUI/coregui/Models/ParticleDistributionItem.cpp b/GUI/coregui/Models/ParticleDistributionItem.cpp
index 397f02fe72e71987e49016014dcf93320ab6a203..2afe766b32df4aef277c9e93c2801cbce392e713 100644
--- a/GUI/coregui/Models/ParticleDistributionItem.cpp
+++ b/GUI/coregui/Models/ParticleDistributionItem.cpp
@@ -71,8 +71,7 @@ ParticleDistributionItem::ParticleDistributionItem()
 
 std::unique_ptr<ParticleDistribution> ParticleDistributionItem::createParticleDistribution() const
 {
-    auto children = childItems();
-    if (children.size() == 0)
+    if (children().size() == 0)
         return nullptr;
     std::unique_ptr<IParticle> P_particle = TransformToDomain::createIParticle(*getItem());
     if (!P_particle)
diff --git a/GUI/coregui/Models/ParticleLayoutItem.cpp b/GUI/coregui/Models/ParticleLayoutItem.cpp
index a7cf3fe809fdc74d27c166a323feff0993ab6524..c17a199ff668726efd9870a7fecfbb8f35f2d176 100644
--- a/GUI/coregui/Models/ParticleLayoutItem.cpp
+++ b/GUI/coregui/Models/ParticleLayoutItem.cpp
@@ -74,7 +74,7 @@ ParticleLayoutItem::ParticleLayoutItem() : SessionGraphicsItem(Constants::Partic
 void ParticleLayoutItem::updateDensityAppearance(SessionItem* item)
 {
     int count = 0;
-    for (auto child_item : childItems())
+    for (auto child_item : children())
         if (isInterference2D(child_item->modelType()))
             count++;
 
diff --git a/GUI/coregui/Models/SampleValidator.cpp b/GUI/coregui/Models/SampleValidator.cpp
index cb3e53af93ad40d6915ba95a0112b2a4c109236d..5fb1fef37c7328bb82cfc7d9262c7de21e31160b 100644
--- a/GUI/coregui/Models/SampleValidator.cpp
+++ b/GUI/coregui/Models/SampleValidator.cpp
@@ -36,7 +36,7 @@ void SampleValidator::initValidator()
 
 void SampleValidator::iterateItems(const SessionItem *parentItem)
 {
-    foreach(const SessionItem *child, parentItem->childItems()) {
+    foreach(const SessionItem *child, parentItem->children()) {
         validateItem(child);
         iterateItems(child);
     }
diff --git a/GUI/coregui/Models/SessionItem.cpp b/GUI/coregui/Models/SessionItem.cpp
index d33e680a9b8df92a56279c89d37fe0bbcac2ba22..de906a1abf6873e45636c2b29752950dda5b8c86 100644
--- a/GUI/coregui/Models/SessionItem.cpp
+++ b/GUI/coregui/Models/SessionItem.cpp
@@ -118,10 +118,10 @@ SessionItem* SessionItem::parent() const
 
 //! Returns model index of this item.
 
- QModelIndex SessionItem::index() const
+QModelIndex SessionItem::index() const
 {
-    if (m_model) {
-        return m_model->indexOfItem(const_cast<SessionItem*>(this));
+    if (model()) {
+        return model()->indexOfItem(const_cast<SessionItem*>(this));
     }
     return QModelIndex();
 }
@@ -142,12 +142,11 @@ int SessionItem::rowCount() const
 
 //! Returns vector of all children.
 
-QVector<SessionItem*> SessionItem::childItems() const
+QVector<SessionItem*> SessionItem::children() const
 {
     return m_children;
 }
 
-
 //! Returns the child at the given row.
 
 SessionItem* SessionItem::childAt(int row) const
diff --git a/GUI/coregui/Models/SessionItem.h b/GUI/coregui/Models/SessionItem.h
index 9b5014f4c364475ce3c5a5306c91145ac3f117f1..934f8a02fedf1d75e9f2a0541409771db620d19b 100644
--- a/GUI/coregui/Models/SessionItem.h
+++ b/GUI/coregui/Models/SessionItem.h
@@ -64,7 +64,7 @@ public:
     QModelIndex index() const;
     bool hasChildren() const;
     int rowCount() const;
-    QVector<SessionItem*> childItems() const;
+    QVector<SessionItem*> children() const;
     SessionItem* childAt(int row) const;
     int rowOfChild(SessionItem* child) const;
     int parentRow() const;
diff --git a/GUI/coregui/Models/SessionXML.cpp b/GUI/coregui/Models/SessionXML.cpp
index b860d33a08c5362c4bdbb0452948317732630974..0b9428d9d7f7c4807f3db0aed69da49eecb71bfd 100644
--- a/GUI/coregui/Models/SessionXML.cpp
+++ b/GUI/coregui/Models/SessionXML.cpp
@@ -65,7 +65,7 @@ void SessionWriter::writeItemAndChildItems(QXmlStreamWriter *writer, const Sessi
         }
 
     }
-    foreach (SessionItem *child_item, item->childItems()) {
+    foreach (SessionItem *child_item, item->children()) {
         writeItemAndChildItems(writer, child_item);
     }
     if (item->parent()) {
diff --git a/GUI/coregui/Models/TransformToDomain.cpp b/GUI/coregui/Models/TransformToDomain.cpp
index 2ec06d4b16ed8578ea352e1be7b1e1b2e8fe2e97..42523f6cbba2be2f8990d0f0f2e3a58cbdf313e5 100644
--- a/GUI/coregui/Models/TransformToDomain.cpp
+++ b/GUI/coregui/Models/TransformToDomain.cpp
@@ -222,7 +222,7 @@ void TransformToDomain::setPositionInfo(IParticle* result, const SessionItem& it
 
 void TransformToDomain::setRotationInfo(IParticle* result, const SessionItem& item)
 {
-    QVector<SessionItem*> children = item.childItems();
+    QVector<SessionItem*> children = item.children();
     for (int i = 0; i < children.size(); ++i) {
         if (children[i]->modelType() == Constants::TransformationType) {
             auto& rot_item = children[i]->groupItem<RotationItem>(TransformationItem::P_ROT);
diff --git a/GUI/coregui/Views/PropertyEditor/ComponentEditor.cpp b/GUI/coregui/Views/PropertyEditor/ComponentEditor.cpp
index 8b0f76bf986fd5a5287c6ba769e7851b778ea139..bdba539df0355655d9fcfffe5941b604032a414b 100644
--- a/GUI/coregui/Views/PropertyEditor/ComponentEditor.cpp
+++ b/GUI/coregui/Views/PropertyEditor/ComponentEditor.cpp
@@ -177,7 +177,7 @@ QList<SessionItem *>
 ComponentEditor::componentItems(SessionItem *item) const
 {
     QList<SessionItem *> result;
-    foreach (SessionItem *child, item->childItems()) {
+    foreach (SessionItem *child, item->children()) {
         if (!child->isVisible())
             continue;
 
@@ -203,7 +203,7 @@ ComponentEditor::componentItems(SessionItem *item) const
         }
 
         if (item->modelType() == Constants::GroupItemType) {
-            foreach (SessionItem *childOfChild, child->childItems()) {
+            foreach (SessionItem *childOfChild, child->children()) {
                 if (childOfChild->isVisible())
                     result.append(childOfChild);
             }
diff --git a/GUI/coregui/Views/PropertyEditor/ComponentEditorPrivate.cpp b/GUI/coregui/Views/PropertyEditor/ComponentEditorPrivate.cpp
index 4773908e7a600c2d5bdd84c5b590df1f4a6eeeae..646c937f7a73b324917faf1b945105450586f159 100644
--- a/GUI/coregui/Views/PropertyEditor/ComponentEditorPrivate.cpp
+++ b/GUI/coregui/Views/PropertyEditor/ComponentEditorPrivate.cpp
@@ -238,7 +238,7 @@ void ComponentEditorPrivate::updatePropertyAppearance(QtVariantProperty *propert
 //! removes properties of all child items
 void ComponentEditorPrivate::cleanChildren(SessionItem *item)
 {
-    foreach(SessionItem *child, item->childItems()) {
+    foreach(SessionItem *child, item->children()) {
         if (QtVariantProperty *property = getPropertyForItem(child)) {
             removeQtVariantProperty(property);
         }
diff --git a/GUI/coregui/Views/SampleDesigner/SampleViewAligner.cpp b/GUI/coregui/Views/SampleDesigner/SampleViewAligner.cpp
index 29e090d75fb753cdde8b598372ba95178b2ad41b..aa919510759cc460f50b2cf0e54b4a7c682a1957 100644
--- a/GUI/coregui/Views/SampleDesigner/SampleViewAligner.cpp
+++ b/GUI/coregui/Views/SampleDesigner/SampleViewAligner.cpp
@@ -130,11 +130,11 @@ QList<IView *> SampleViewAligner::getConnectedViews(IView *view)
 
     if(itemOfView->modelType() == Constants::MultiLayerType) {
         // MultiLayer will not interact with its Layers, but with they children, e.g. with ParticleLayouts
-        foreach(SessionItem *child,  itemOfView->childItems()) {
-            connected_items.append(child->childItems().toList());
+        foreach(SessionItem *child,  itemOfView->children()) {
+            connected_items.append(child->children().toList());
         }
     } else {
-        connected_items.append(itemOfView->childItems().toList());
+        connected_items.append(itemOfView->children().toList());
 
     }
 
diff --git a/Tests/UnitTests/GUI/TestGroupProperty.h b/Tests/UnitTests/GUI/TestGroupProperty.h
index e6115b6ee0a0c67e66464a5b8210fc1fd4614d0f..2887f87dffca9e46963bea46598c115be3454130 100644
--- a/Tests/UnitTests/GUI/TestGroupProperty.h
+++ b/Tests/UnitTests/GUI/TestGroupProperty.h
@@ -65,13 +65,13 @@ inline void TestGroupProperty::test_CreateGroup()
     QCOMPARE(property->currentType(), Constants::DistributionGaussianType);
 
     GroupItem groupItem;
-    QCOMPARE(groupItem.childItems().size(), 0);
+    QCOMPARE(groupItem.children().size(), 0);
     QVERIFY(groupItem.currentItem() == nullptr);
 
     // setting group property and checking currentItem
     groupItem.setGroup(property);
-    QCOMPARE(groupItem.childItems().size(), 1);
-    QCOMPARE(groupItem.childItems()[0], groupItem.currentItem());
+    QCOMPARE(groupItem.children().size(), 1);
+    QCOMPARE(groupItem.children()[0], groupItem.currentItem());
     SessionItem *cosineItem = groupItem.currentItem();
     QCOMPARE(cosineItem->modelType(), Constants::DistributionGaussianType);
     QCOMPARE(property->currentItem(), cosineItem);
@@ -83,12 +83,12 @@ inline void TestGroupProperty::test_CreateGroup()
     SessionItem *newItem = groupItem.setCurrentType(Constants::DistributionNoneType);
     QCOMPARE(newItem, groupItem.currentItem());
     QCOMPARE(newItem->modelType(), Constants::DistributionNoneType);
-    QCOMPARE(groupItem.childItems().size(), 2);
+    QCOMPARE(groupItem.children().size(), 2);
 
     // returning back to previous item
     QCOMPARE(groupItem.setCurrentType(Constants::DistributionGaussianType), cosineItem);
     QCOMPARE(groupItem.currentItem(), cosineItem);
-    QCOMPARE(groupItem.childItems().size(), 2);
+    QCOMPARE(groupItem.children().size(), 2);
 }
 
 //! Checking that GroupProperty stays functional if displayName of currentItem is changed.
diff --git a/Tests/UnitTests/GUI/TestParticleDistributionItem.h b/Tests/UnitTests/GUI/TestParticleDistributionItem.h
index c3de984fd7950eba6f7ceef7c7ce7615098fba7d..93353d3ad74bed437765fe9becc003bcd49ca550 100644
--- a/Tests/UnitTests/GUI/TestParticleDistributionItem.h
+++ b/Tests/UnitTests/GUI/TestParticleDistributionItem.h
@@ -47,7 +47,7 @@ inline void TestParticleDistributionItem::test_InitialState()
     QCOMPARE(distItem->displayName(), distItem->itemName());
 
     // xpos, ypos, P_ABUNDANCE, P_DISTRIBUTION, P_DISTRIBUTED_PARAMETER
-    QCOMPARE(distItem->childItems().size(), 5);
+    QCOMPARE(distItem->children().size(), 5);
 
     QCOMPARE(distItem->defaultTag(), ParticleDistributionItem::T_PARTICLES);
 
diff --git a/Tests/UnitTests/GUI/TestParticleItem.h b/Tests/UnitTests/GUI/TestParticleItem.h
index faef5a73e53434d65110cce788caa8fd3beb4328..0c8b9c49361342ed3f1908f873b4b584634ba060 100644
--- a/Tests/UnitTests/GUI/TestParticleItem.h
+++ b/Tests/UnitTests/GUI/TestParticleItem.h
@@ -24,12 +24,12 @@ inline void TestParticleItem::test_InitialState()
     QCOMPARE(item->displayName(), Constants::ParticleType);
     QCOMPARE(item->displayName(), item->itemName());
     // xpos, ypos, P_FORM_FACTOR, P_MATERIAL, P_ABUNDANCE, P_POSITION
-    QCOMPARE(item->childItems().size(), 6);
+    QCOMPARE(item->children().size(), 6);
     QCOMPARE(item->defaultTag(), ParticleItem::T_TRANSFORMATION);
 
     GroupItem* group = dynamic_cast<GroupItem*>(item->getItem(ParticleItem::P_FORM_FACTOR));
     QCOMPARE(group->displayName(), ParticleItem::P_FORM_FACTOR);
-    QCOMPARE(group->childItems().size(), 1);
+    QCOMPARE(group->children().size(), 1);
 }
 
 inline void TestParticleItem::test_compositionContext()