diff --git a/src/language/modules/MeshModule.cpp b/src/language/modules/MeshModule.cpp
index 192f3aa568fea8c7dc7d5a7ce7e526f2aef304fe..3d097d30761fda305ea6490d74da0fd19438a972 100644
--- a/src/language/modules/MeshModule.cpp
+++ b/src/language/modules/MeshModule.cpp
@@ -26,6 +26,8 @@
 MeshModule::MeshModule()
 {
   this->_addTypeDescriptor(ast_node_data_type_from<std::shared_ptr<const IMesh>>);
+  this->_addTypeDescriptor(ast_node_data_type_from<std::shared_ptr<const IBoundaryDescriptor>>);
+  this->_addTypeDescriptor(ast_node_data_type_from<std::shared_ptr<const IZoneDescriptor>>);
 
   this->_addBuiltinFunction("readGmsh",
                             std::make_shared<BuiltinFunctionEmbedder<std::shared_ptr<const IMesh>(const std::string&)>>(
diff --git a/src/language/modules/SchemeModule.cpp b/src/language/modules/SchemeModule.cpp
index ec5329bc9682125005826d4fbfafe07febebed9d..c724e1674415b1a2be0c8848f0a9cf923bd24363 100644
--- a/src/language/modules/SchemeModule.cpp
+++ b/src/language/modules/SchemeModule.cpp
@@ -45,7 +45,6 @@ SchemeModule::SchemeModule()
   this->_addTypeDescriptor(ast_node_data_type_from<std::shared_ptr<const IDiscreteFunctionDescriptor>>);
   this->_addTypeDescriptor(ast_node_data_type_from<std::shared_ptr<const IQuadratureDescriptor>>);
 
-  this->_addTypeDescriptor(ast_node_data_type_from<std::shared_ptr<const IBoundaryDescriptor>>);
   this->_addTypeDescriptor(ast_node_data_type_from<std::shared_ptr<const IBoundaryConditionDescriptor>>);
 
   this->_addBuiltinFunction("P0", std::make_shared<
diff --git a/src/mesh/CMakeLists.txt b/src/mesh/CMakeLists.txt
index 787113bea8e88b175af3436a3770f7d79d051174..7d7caaf31cdf3d791de1915660491939efcb32fd 100644
--- a/src/mesh/CMakeLists.txt
+++ b/src/mesh/CMakeLists.txt
@@ -20,6 +20,7 @@ add_library(
   MedianDualConnectivityBuilder.cpp
   MedianDualMeshBuilder.cpp
   MeshBuilderBase.cpp
+  MeshCellZone.cpp
   MeshDataManager.cpp
   MeshFaceBoundary.cpp
   MeshFlatFaceBoundary.cpp