diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 9a906aa6db5a7a0d256c03607b39188223d3acd1..5253caa99be09dc98e1494bfe02b5cb3285711d3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -21,7 +21,7 @@ stages:          # List of stages for jobs, and their order of execution
   - deploy
 
 .f34-ogl:
-  image: git.fossgalaxy.com:8042/gamedev/containers/fedora:34-opengl
+  image: git.fossgalaxy.com:8042/gamedev/containers/fedora:36-opengl
   before_script:
     - dnf install -y pkgconfig\(dri\) pkgconfig\(glu\) pkgconfig\(x11\) pkgconfig\(xcursor\) pkgconfig\(xi\) pkgconfig\(xinerama\) pkgconfig\(xrandr\) doxygen
     - dnf install -y glm-devel glfw-devel openal-soft-devel spdlog-devel freetype-devel yaml-cpp-devel assimp-devel bullet-devel
diff --git a/demo/CMakeLists.txt b/demo/CMakeLists.txt
index c45405f983fbcbbdf6c0e84caa3024ab28b699df..4c8f3dd202b14636fd571d4cf2e6248d56c5dd4b 100644
--- a/demo/CMakeLists.txt
+++ b/demo/CMakeLists.txt
@@ -1,5 +1,5 @@
-#cmake_minimum_required(VERSION 3.16)
-#project(demo)
+cmake_minimum_required(VERSION 3.16)
+project(demo)
 
 # Executable
 add_executable(demo
diff --git a/fggl/CMakeLists.txt b/fggl/CMakeLists.txt
index 476c4f65a347aeed3342e21fcaa684b1f8bb9b18..d19d33eb7590ef8288831159ab2adc399af89efc 100644
--- a/fggl/CMakeLists.txt
+++ b/fggl/CMakeLists.txt
@@ -64,8 +64,12 @@ find_package(yaml-cpp)
 target_link_libraries(fggl PUBLIC yaml-cpp)
 
 # model loading
-find_package(assimp)
-target_link_libraries(${PROJECT_NAME} PUBLIC assimp::assimp)
+find_package(assimp CONFIG)
+if ( MSVC )
+    target_link_libraries(${PROJECT_NAME} PUBLIC assimp::assimp)
+else()
+    target_link_libraries(${PROJECT_NAME} PUBLIC assimp)
+endif()
 
 find_package(Freetype)
 target_link_libraries(${PROJECT_NAME} PUBLIC Freetype::Freetype)
diff --git a/fggl/phys/bullet/CMakeLists.txt b/fggl/phys/bullet/CMakeLists.txt
index bb2ac621ed1f2bf73aac4db493a41e220eac8174..6c5ca9e498a335fe6ce0b3d1a65a2cb95a59d2c2 100644
--- a/fggl/phys/bullet/CMakeLists.txt
+++ b/fggl/phys/bullet/CMakeLists.txt
@@ -4,7 +4,17 @@ if ( NOT Bullet_FOUND )
     message(WARNING "Bullet not found - disabling bullet physics integration")
 else()
     message(STATUS "Bullet found")
-    target_link_libraries(fggl PUBLIC LinearMath Bullet3Common BulletCollision BulletDynamics BulletSoftBody )
+
+    if ( MSVC )
+        # see https://github.com/microsoft/vcpkg/issues/7877
+        target_link_libraries(fggl PUBLIC LinearMath Bullet3Common BulletDynamics BulletSoftBody BulletCollision BulletInverseDynamics)
+    else()
+        # FIXME: this shouldn't be necessary, for modern cmake, linking the libraries should be enough
+        target_compile_definitions(fggl PUBLIC ${BULLET_DEFINITIONS})
+        target_include_directories(fggl PUBLIC ${BULLET_INCLUDE_DIRS})
+        target_link_libraries(fggl PUBLIC ${BULLET_LIBRARIES})
+    endif()
+
 
     # bullet cpp files
     target_sources(fggl