diff --git a/CMakeLists.txt b/CMakeLists.txt
index ac0bb336c209c70363c8a65057f692f0d4605395..1c00e1fb6a12865ebd0e596e6422309b40b7aa23 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -64,6 +64,7 @@ set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES
 ## sub dirs to be recognised by CMake
 ## e.g. add_subdirectory(src), subdirs have thier own CMakeLists.txt
 add_subdirectory(config)
+add_subdirectory(core)
 add_subdirectory(meld)
 add_subdirectory(scripts)
 
diff --git a/cmake_support/PROMOD3.cmake b/cmake_support/PROMOD3.cmake
index ce126bbafed59387763a88e7eee6737bda73912a..23722e1b6ce875b68e954a7edf6317a0974452b6 100644
--- a/cmake_support/PROMOD3.cmake
+++ b/cmake_support/PROMOD3.cmake
@@ -492,12 +492,13 @@ endmacro()
 #-------------------------------------------------------------------------------
 # Synopsis:
 #   pymod(NAME name CPP source1 source2 PY source source2 [IN_DIR dir] 
-#         source3 source4 [IN_DIR dir] [LINK link] [OUTPUT_DIR dir] [UI user_interface_files])
+#         source3 source4 [IN_DIR dir] [LINK link] [OUTPUT_DIR dir]
+#         [UI user_interface_files])
 #
 # Description:
-#  Define a python module consisting of C++ type wrappers and/or code written in 
-#  Python.
-# NAME is the name of
+#   Define a python module consisting of C++ type wrappers and/or code written
+#   in Python.
+# OUTPUT_DIR defines, where in the 'promod3' tree the files will be placed
 #-------------------------------------------------------------------------------
 macro(pymod)
   #-----------------------------------------------------------------------------
diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..08f4c8929ee8c5be60f7e6c028aa7ba3de738986
--- /dev/null
+++ b/core/CMakeLists.txt
@@ -0,0 +1 @@
+add_subdirectory(pymod)
diff --git a/core/pymod/CMakeLists.txt b/core/pymod/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c91fd370048ad37f21fbb8d445dea3613effdd33
--- /dev/null
+++ b/core/pymod/CMakeLists.txt
@@ -0,0 +1,3 @@
+set(PROMOD3_CORE_FILES __init__.py)
+
+pymod(NAME core PY ${PROMOD3_CORE_FILES} __init__.py OUTPUT_DIR "promod3")
diff --git a/core/pymod/__init__.py b/core/pymod/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391