diff --git a/include/vkcv/VertexLayout.hpp b/include/vkcv/VertexLayout.hpp
index 0e3c872ff0b0dfb0de5600c67acadd5e4cf420a8..783f8e29c1284f098430e98f4a172760cd9f0d35 100644
--- a/include/vkcv/VertexLayout.hpp
+++ b/include/vkcv/VertexLayout.hpp
@@ -6,6 +6,7 @@
  * @brief Structures to handle vertex layout, bindings and attachments.
  */
 
+#include <cstdint>
 #include <iostream>
 #include <string>
 
diff --git a/src/vkcv/AccelerationStructureManager.cpp b/src/vkcv/AccelerationStructureManager.cpp
index 02d3e65be5211948d1159c7a3f7b2116c58b2dca..d3c0f3e33aeb2d7430cf3c3dada6fee2f560e406 100644
--- a/src/vkcv/AccelerationStructureManager.cpp
+++ b/src/vkcv/AccelerationStructureManager.cpp
@@ -5,9 +5,13 @@
 #include "vkcv/Logger.hpp"
 
 namespace vkcv {
+
+	bool AccelerationStructureManager::init(Core &core) {
+		return HandleManager<AccelerationStructureEntry, AccelerationStructureHandle>::init(core);
+	}
 	
 	bool AccelerationStructureManager::init(Core &core, BufferManager &bufferManager) {
-		if (!HandleManager<AccelerationStructureEntry, AccelerationStructureHandle>::init(core)) {
+		if (!init(core)) {
 			return false;
 		}
 		
diff --git a/src/vkcv/AccelerationStructureManager.hpp b/src/vkcv/AccelerationStructureManager.hpp
index 062a1bcfead0910ed1084d8c3917abb9e904dfe1..8dd94798d9f632a1fab129a6a0d6cc54bbd0ced0 100644
--- a/src/vkcv/AccelerationStructureManager.hpp
+++ b/src/vkcv/AccelerationStructureManager.hpp
@@ -37,7 +37,7 @@ namespace vkcv {
 	private:
 		BufferManager* m_bufferManager;
 		
-		using HandleManager<AccelerationStructureEntry, AccelerationStructureHandle>::init;
+		bool init(Core &core) override;
 		bool init(Core &core, BufferManager &bufferManager);
 		
 		[[nodiscard]] uint64_t getIdFrom(const AccelerationStructureHandle &handle) const override;
diff --git a/src/vkcv/DescriptorSetManager.cpp b/src/vkcv/DescriptorSetManager.cpp
index 5304031fc3639967fc628821b812d3188ed81a6d..2b71e527e279b8cb4a63ada1b088e76ad981c0a4 100644
--- a/src/vkcv/DescriptorSetManager.cpp
+++ b/src/vkcv/DescriptorSetManager.cpp
@@ -4,9 +4,13 @@
 
 namespace vkcv {
 
+	bool DescriptorSetManager::init(Core &core) {
+		return HandleManager<DescriptorSetEntry, DescriptorSetHandle>::init(core);
+	}
+
 	bool DescriptorSetManager::init(Core &core,
 									DescriptorSetLayoutManager &descriptorSetLayoutManager) {
-		if (!HandleManager<DescriptorSetEntry, DescriptorSetHandle>::init(core)) {
+		if (!init(core)) {
 			return false;
 		}
 
diff --git a/src/vkcv/DescriptorSetManager.hpp b/src/vkcv/DescriptorSetManager.hpp
index 4b0d307bb4e96292d7c23ad4d2b3bf942727762e..74cf75d9efd145132732fde03ca50d2f46baaded 100644
--- a/src/vkcv/DescriptorSetManager.hpp
+++ b/src/vkcv/DescriptorSetManager.hpp
@@ -39,7 +39,7 @@ namespace vkcv {
 		Vector<vk::DescriptorPoolSize> m_PoolSizes;
 		vk::DescriptorPoolCreateInfo m_PoolInfo;
 		
-		using HandleManager<DescriptorSetEntry, DescriptorSetHandle>::init;
+		bool init(Core &core) override;
 		bool init(Core &core, DescriptorSetLayoutManager &descriptorSetLayoutManager);
 
 		[[nodiscard]] uint64_t getIdFrom(const DescriptorSetHandle &handle) const override;