diff --git a/modules/upscaling/include/vkcv/upscaling/FSRUpscaling.hpp b/modules/upscaling/include/vkcv/upscaling/FSRUpscaling.hpp
index 2a1338b85e3ee60a33215157aaaa15817f2db97f..9a634a98ac16d0e694638f37705e66e351d352a7 100644
--- a/modules/upscaling/include/vkcv/upscaling/FSRUpscaling.hpp
+++ b/modules/upscaling/include/vkcv/upscaling/FSRUpscaling.hpp
@@ -30,8 +30,8 @@ namespace vkcv::upscaling {
 	
 	class FSRUpscaling : public Upscaling {
 	private:
-		PipelineHandle m_easuPipeline;
-		PipelineHandle m_rcasPipeline;
+		ComputePipelineHandle m_easuPipeline;
+		ComputePipelineHandle m_rcasPipeline;
 		
 		DescriptorSetHandle m_easuDescriptorSet;
 		DescriptorSetHandle m_rcasDescriptorSet;
diff --git a/projects/indirect_dispatch/src/AppSetup.hpp b/projects/indirect_dispatch/src/AppSetup.hpp
index 3125bc516b553de715d6e51bbda259e3e16f758f..eaedcbef544444b70638b7282edf25b200b53b60 100644
--- a/projects/indirect_dispatch/src/AppSetup.hpp
+++ b/projects/indirect_dispatch/src/AppSetup.hpp
@@ -14,7 +14,7 @@ struct GraphicPassHandles {
 };
 
 struct ComputePassHandles {
-	vkcv::PipelineHandle        pipeline;
+	vkcv::ComputePipelineHandle        pipeline;
 	vkcv::DescriptorSetHandle   descriptorSet;
 };
 
@@ -31,10 +31,10 @@ bool loadImage(vkcv::Core& core, const std::filesystem::path& path, vkcv::ImageH
 
 bool loadGraphicPass(
 	vkcv::Core& core,
-	const std::filesystem::path vertexPath,
-	const std::filesystem::path fragmentPath,
+	std::filesystem::path vertexPath,
+	std::filesystem::path fragmentPath,
 	const vkcv::PassConfig&     passConfig,
-	const vkcv::DepthTest       depthTest,
+	vkcv::DepthTest       		depthTest,
 	GraphicPassHandles*         outPassHandles);
 
 bool loadMeshPass  (vkcv::Core& core, GraphicPassHandles* outHandles);
diff --git a/projects/voxelization/src/BloomAndFlares.hpp b/projects/voxelization/src/BloomAndFlares.hpp
index 2b410e5b256c5820d908372d2e23fd495853274a..727ee53513debb0d83f70e430232db7efdc0a488 100644
--- a/projects/voxelization/src/BloomAndFlares.hpp
+++ b/projects/voxelization/src/BloomAndFlares.hpp
@@ -29,17 +29,17 @@ private:
     vkcv::Image m_radialLut;
     vkcv::Image m_lensDirt;
 
-    vkcv::PipelineHandle                     m_DownsamplePipe;
+    vkcv::ComputePipelineHandle              m_DownsamplePipe;
     std::vector<vkcv::DescriptorSetHandle>   m_DownsampleDescSets; // per mip desc set
     std::vector<vkcv::DescriptorSetHandle>   m_UpsampleLensFlareDescSets; // per mip desc set
 
-    vkcv::PipelineHandle                     m_UpsamplePipe;
+    vkcv::ComputePipelineHandle              m_UpsamplePipe;
     std::vector<vkcv::DescriptorSetHandle>   m_UpsampleDescSets;   // per mip desc set
 
-    vkcv::PipelineHandle                     m_LensFlarePipe;
+    vkcv::ComputePipelineHandle              m_LensFlarePipe;
     vkcv::DescriptorSetHandle                m_LensFlareDescSet;
 
-    vkcv::PipelineHandle                     m_CompositePipe;
+    vkcv::ComputePipelineHandle              m_CompositePipe;
     vkcv::DescriptorSetHandle                m_CompositeDescSet;
 
     void execDownsamplePipe(const vkcv::CommandStreamHandle &cmdStream, const vkcv::ImageHandle &colorAttachment);
diff --git a/projects/voxelization/src/ShadowMapping.hpp b/projects/voxelization/src/ShadowMapping.hpp
index 8066d5bdc90a66c0823be4dc23cf6a12729e32c7..3d941aefb423189c2dafcdf24203ca07b37a21ad 100644
--- a/projects/voxelization/src/ShadowMapping.hpp
+++ b/projects/voxelization/src/ShadowMapping.hpp
@@ -45,12 +45,12 @@ private:
 	vkcv::PassHandle            m_shadowMapPass;
 	vkcv::PipelineHandle        m_shadowMapPipe;
 
-	vkcv::PipelineHandle        m_depthToMomentsPipe;
+	vkcv::ComputePipelineHandle m_depthToMomentsPipe;
 	vkcv::DescriptorSetHandle   m_depthToMomentsDescriptorSet;
 
-	vkcv::PipelineHandle        m_shadowBlurXPipe;
+	vkcv::ComputePipelineHandle m_shadowBlurXPipe;
 	vkcv::DescriptorSetHandle   m_shadowBlurXDescriptorSet;
 
-	vkcv::PipelineHandle        m_shadowBlurYPipe;
+	vkcv::ComputePipelineHandle m_shadowBlurYPipe;
 	vkcv::DescriptorSetHandle   m_shadowBlurYDescriptorSet;
 };
\ No newline at end of file
diff --git a/projects/voxelization/src/Voxelization.hpp b/projects/voxelization/src/Voxelization.hpp
index 66c87acb3c13c0d950a28dc33e4084d728da5947..d3221e61bdc650c287f5b109bfae04525fd5ab32 100644
--- a/projects/voxelization/src/Voxelization.hpp
+++ b/projects/voxelization/src/Voxelization.hpp
@@ -58,16 +58,16 @@ private:
 	vkcv::PipelineHandle        m_voxelizationPipe;
 	vkcv::DescriptorSetHandle   m_voxelizationDescriptorSet;
 
-	vkcv::PipelineHandle        m_voxelResetPipe;
+	vkcv::ComputePipelineHandle m_voxelResetPipe;
 	vkcv::DescriptorSetHandle   m_voxelResetDescriptorSet;
 
-	vkcv::PipelineHandle        m_bufferToImagePipe;
+	vkcv::ComputePipelineHandle m_bufferToImagePipe;
 	vkcv::DescriptorSetHandle   m_bufferToImageDescriptorSet;
 
 	vkcv::PassHandle            m_visualisationPass;
 	vkcv::PipelineHandle        m_visualisationPipe;
 
-	vkcv::PipelineHandle        m_secondaryBouncePipe;
+	vkcv::ComputePipelineHandle m_secondaryBouncePipe;
 	vkcv::DescriptorSetHandle   m_secondaryBounceDescriptorSet;
 
 	vkcv::DescriptorSetHandle   m_visualisationDescriptorSet;
diff --git a/projects/voxelization/src/main.cpp b/projects/voxelization/src/main.cpp
index 3c23c7eabbbdc5d83d37bde79b43a2730b1f28b2..8ef294dcd5c2047d54b5493a2da6511f2ae101a0 100644
--- a/projects/voxelization/src/main.cpp
+++ b/projects/voxelization/src/main.cpp
@@ -427,7 +427,7 @@ int main(int argc, const char** argv) {
 	});
 	vkcv::DescriptorSetHandle tonemappingDescriptorSet = core.createDescriptorSet(
 		tonemappingProgram.getReflectedDescriptors()[0]);
-	vkcv::PipelineHandle tonemappingPipeline = core.createComputePipeline(
+	vkcv::ComputePipelineHandle tonemappingPipeline = core.createComputePipeline(
 		tonemappingProgram,
 		{ core.getDescriptorSet(tonemappingDescriptorSet).layout });
 	
@@ -439,7 +439,7 @@ int main(int argc, const char** argv) {
 	});
 	vkcv::DescriptorSetHandle postEffectsDescriptorSet = core.createDescriptorSet(
 			postEffectsProgram.getReflectedDescriptors()[0]);
-	vkcv::PipelineHandle postEffectsPipeline = core.createComputePipeline(
+	vkcv::ComputePipelineHandle postEffectsPipeline = core.createComputePipeline(
 			postEffectsProgram,
 			{ core.getDescriptorSet(postEffectsDescriptorSet).layout });
 
@@ -451,7 +451,7 @@ int main(int argc, const char** argv) {
 	});
 	vkcv::DescriptorSetHandle resolveDescriptorSet = core.createDescriptorSet(
 		resolveProgram.getReflectedDescriptors()[0]);
-	vkcv::PipelineHandle resolvePipeline = core.createComputePipeline(
+	vkcv::ComputePipelineHandle resolvePipeline = core.createComputePipeline(
 		resolveProgram,
 		{ core.getDescriptorSet(resolveDescriptorSet).layout });
 
@@ -939,7 +939,7 @@ int main(int argc, const char** argv) {
 					[&](vkcv::ShaderStage shaderStage, const std::filesystem::path& path) {
 					newProgram.addShader(shaderStage, path);
 				});
-				vkcv::PipelineHandle newPipeline = core.createComputePipeline(
+				vkcv::ComputePipelineHandle newPipeline = core.createComputePipeline(
 					newProgram,
 					{ core.getDescriptorSet(tonemappingDescriptorSet).layout });