diff --git a/GUI/coregui/Models/SpecularDataItem.cpp b/GUI/coregui/Models/SpecularDataItem.cpp
index d5efc51b42bbe709993555092274c44ae4973ee4..5e896dcc10c48575a7b56c6089d76ee9d3203830 100644
--- a/GUI/coregui/Models/SpecularDataItem.cpp
+++ b/GUI/coregui/Models/SpecularDataItem.cpp
@@ -26,16 +26,15 @@ SpecularDataItem::SpecularDataItem() : DataItem("SpecularData")
 {
     addProperty(P_TITLE, QString())->setVisible(false);
 
-    SessionItem* item = addGroupProperty(P_XAXIS, "BasicAxis");
-    item->getItem(BasicAxisItem::P_NBINS)->setVisible(false);
+    auto basicAxis = addProperty<BasicAxisItem>(P_XAXIS);
+    basicAxis->getItem(BasicAxisItem::P_NBINS)->setVisible(false);
 
-    item = addGroupProperty(P_YAXIS, "AmplitudeAxis");
-    item->getItem(BasicAxisItem::P_NBINS)->setVisible(false);
-    item->getItem(BasicAxisItem::P_TITLE)->setVisible(true);
+    auto amplitudeAxis = addProperty<AmplitudeAxisItem>(P_YAXIS);
+    amplitudeAxis->getItem(BasicAxisItem::P_NBINS)->setVisible(false);
+    amplitudeAxis->getItem(BasicAxisItem::P_TITLE)->setVisible(true);
 
-    item = item->getItem(AmplitudeAxisItem::P_IS_VISIBLE);
-    item->setValue(true);
-    item->setVisible(false);
+    amplitudeAxis->getItem(AmplitudeAxisItem::P_IS_VISIBLE)->setValue(true);
+    amplitudeAxis->getItem(AmplitudeAxisItem::P_IS_VISIBLE)->setVisible(false);
 
     setXaxisTitle(SpecularDataAxesNames::x_axis_default_name);
     setYaxisTitle(SpecularDataAxesNames::y_axis_default_name);
diff --git a/GUI/coregui/Models/SphericalDetectorItem.cpp b/GUI/coregui/Models/SphericalDetectorItem.cpp
index e7aaa9d79e5b6a763ca280b8b88ce722b73a2f08..1379c47a67783192e9189cdca90b3648d7b10642 100644
--- a/GUI/coregui/Models/SphericalDetectorItem.cpp
+++ b/GUI/coregui/Models/SphericalDetectorItem.cpp
@@ -22,23 +22,25 @@ const QString SphericalDetectorItem::P_ALPHA_AXIS = "Alpha axis";
 
 SphericalDetectorItem::SphericalDetectorItem() : DetectorItem("SphericalDetector")
 {
-    SessionItem* item = addGroupProperty(P_PHI_AXIS, "BasicAxis");
-    item->getItem(BasicAxisItem::P_TITLE)->setVisible(false);
-    item->setItemValue(BasicAxisItem::P_MIN_DEG, -1.0);
-    item->setItemValue(BasicAxisItem::P_MAX_DEG, 1.0);
-
-    item->getItem(BasicAxisItem::P_NBINS)->setToolTip("Number of phi-axis bins");
-    item->getItem(BasicAxisItem::P_MIN_DEG)->setToolTip("Low edge of first phi-bin (in deg)");
-    item->getItem(BasicAxisItem::P_MAX_DEG)->setToolTip("Upper edge of last phi-bin (in deg)");
-
-    item = addGroupProperty(P_ALPHA_AXIS, "BasicAxis");
-    item->getItem(BasicAxisItem::P_TITLE)->setVisible(false);
-    item->setItemValue(BasicAxisItem::P_MIN_DEG, 0.0);
-    item->setItemValue(BasicAxisItem::P_MAX_DEG, 2.0);
-
-    item->getItem(BasicAxisItem::P_NBINS)->setToolTip("Number of alpha-axis bins");
-    item->getItem(BasicAxisItem::P_MIN_DEG)->setToolTip("Low edge of first alpha-bin (in deg)");
-    item->getItem(BasicAxisItem::P_MAX_DEG)->setToolTip("Upper edge of last alpha-bin (in deg)");
+    auto phiAxis = addProperty<BasicAxisItem>(P_PHI_AXIS);
+    phiAxis->getItem(BasicAxisItem::P_TITLE)->setVisible(false);
+    phiAxis->setLowerBound(-1.0);
+    phiAxis->setUpperBound(1.0);
+
+    phiAxis->getItem(BasicAxisItem::P_NBINS)->setToolTip("Number of phi-axis bins");
+    phiAxis->getItem(BasicAxisItem::P_MIN_DEG)->setToolTip("Low edge of first phi-bin (in deg)");
+    phiAxis->getItem(BasicAxisItem::P_MAX_DEG)->setToolTip("Upper edge of last phi-bin (in deg)");
+
+    auto alphaAxis = addProperty<BasicAxisItem>(P_ALPHA_AXIS);
+    alphaAxis->getItem(BasicAxisItem::P_TITLE)->setVisible(false);
+    alphaAxis->setLowerBound(0.0);
+    alphaAxis->setUpperBound(2.0);
+
+    alphaAxis->getItem(BasicAxisItem::P_NBINS)->setToolTip("Number of alpha-axis bins");
+    alphaAxis->getItem(BasicAxisItem::P_MIN_DEG)
+        ->setToolTip("Low edge of first alpha-bin (in deg)");
+    alphaAxis->getItem(BasicAxisItem::P_MAX_DEG)
+        ->setToolTip("Upper edge of last alpha-bin (in deg)");
 
     register_resolution_function();
 }