diff --git a/.gitignore b/.gitignore
index d5a1572f8a32057105977db2333539ea0cb5350d..e6a76cfd5bd92e394f0e772cb63e52d526b16e9c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
 *.swp
+*.swo
 build
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4127919eb1b37c68f8ea560ae44980d876aa8ec8..c42b1fe47eee2d84931b1013a85d75678b2a14c4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -14,6 +14,16 @@ if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}
     You may need to remove CMakeCache.txt and CMakeFiles dir. ")
 endif()
 
+include(ExternalProject)
+ExternalProject_Add(Tadah.MODELS
+    GIT_REPOSITORY git@git.ecdf.ed.ac.uk:tadah/models.git
+    GIT_TAG main
+    SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../MODELS
+    PATCH_COMMAND  mkdir -p build
+    BINARY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../MODELS/build
+    INSTALL_COMMAND cmake -E echo "Skipping install step."
+    )
+
 if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/../CORE")
     message("This module requires CORE module for compilation.")
     message(FATAL_ERROR "CORE module not found.")
@@ -24,12 +34,6 @@ if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/../MODELS")
     message(FATAL_ERROR "MODELS module not found.")
 endif()
 
-include(ExternalProject)
-ExternalProject_Add(Tadah.MODELS
-    SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../MODELS
-    BINARY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../MODELS/build
-    INSTALL_COMMAND cmake -E echo "Skipping install step."
-    )
 link_directories(${CMAKE_CURRENT_SOURCE_DIR}/../MODELS/build)
 link_directories(${CMAKE_CURRENT_SOURCE_DIR}/../CORE/build)