diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5452eeeec3fbe38b94ff18b364624e162c6317cd..6eb04b8319d8a8c991a5bb00989b363c854e0ccb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,10 +1,17 @@
-cmake_minimum_required(VERSION 3.0)
+cmake_minimum_required(VERSION 3.16)
 project(CTUApex)
 
 set(CMAKE_CXX_STANDARD 17)
 
 find_package(metacg REQUIRED)
-find_package(Clang REQUIRED)
+
+find_package(Clang REQUIRED CONFIG)
+message(STATUS "Found LLVM/Clang version " ${LLVM_VERSION})
+
+if("${LLVM_VERSION_MAJOR}" VERSION_LESS 15)
+    message(FATAL_ERROR "Found LLVM ${LLVM_VERSION_MAJOR}, but need LLVM 15 or above")
+endif()
+
 
 # set log level using -DLOG_LEVEL="INFO"|"DEBUG", defaults to "INFO"
 set(LOG_LEVEL "TRACE" CACHE STRING "")
@@ -29,7 +36,7 @@ add_executable(CTUApex
 target_include_directories(CTUApex PUBLIC
         $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include/>)
 
-target_link_libraries(CTUApex metacg)
+target_link_libraries(CTUApex metacg::metacg)
 #target_link_libraries(CTUApex minicpr)
 target_link_libraries(CTUApex clangTooling)
 target_compile_options(CTUApex PUBLIC -fno-rtti)
\ No newline at end of file
diff --git a/src/main.cpp b/src/main.cpp
index cef1d5d257d2d010b88ab87da97e009280985537..ab16f9f64c766234d5e8e5579dc172ab3e72ca60 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -147,7 +147,7 @@ int main(int argc, const char **argv) {
 
     auto &mcgManager = metacg::graph::MCGManager::get();
     mcgManager.addToManagedGraphs("emptyGraph", std::make_unique<metacg::Callgraph>());
-    mcgReader->read(mcgManager);
+    mcgReader->read();
     auto &cg = *mcgManager.getCallgraph();
     //Add extraction point gotten via the CLI
     for(const auto& extractionFunc : extractionPoints){