diff --git a/include/vkcv/Pass.hpp b/include/vkcv/Pass.hpp
index f6f7e32ce40374078721a67c9b1c3560d5ff1426..0bbb81940998838df92de25cc0f1b69ae81c86a1 100644
--- a/include/vkcv/Pass.hpp
+++ b/include/vkcv/Pass.hpp
@@ -11,7 +11,7 @@
 
 namespace vkcv {
 
-	PassHandle passFormats(Core &core, const std::vector<vk::Format> formats, bool clear = true,
+	PassHandle passFormats(Core &core, const std::vector<vk::Format> &formats, bool clear = true,
 						   Multisampling multisampling = Multisampling::None);
 
 	PassHandle passFormat(Core &core, vk::Format format, bool clear = true,
diff --git a/projects/first_triangle/src/main.cpp b/projects/first_triangle/src/main.cpp
index 7d985e21bdda2d4ff8a55ff53d1db67c2810eaae..5d249d04525ed7da820ff34382462bd82e8b450f 100644
--- a/projects/first_triangle/src/main.cpp
+++ b/projects/first_triangle/src/main.cpp
@@ -1,5 +1,4 @@
 #include <iostream>
-#include <vkcv/Buffer.hpp>
 #include <vkcv/Core.hpp>
 #include <vkcv/Pass.hpp>
 #include <GLFW/glfw3.h>
diff --git a/src/vkcv/Pass.cpp b/src/vkcv/Pass.cpp
index 0aaaa4a9771f7ff682d60e363a436de5ac13f5f5..147d715110b6a20bf1035ddd4f05270916a03d3f 100644
--- a/src/vkcv/Pass.cpp
+++ b/src/vkcv/Pass.cpp
@@ -3,7 +3,7 @@
 
 namespace vkcv {
 
-	PassHandle passFormats(Core &core, const std::vector<vk::Format> formats, bool clear,
+	PassHandle passFormats(Core &core, const std::vector<vk::Format> &formats, bool clear,
 						   Multisampling multisampling) {
 		AttachmentDescriptions attachments;
 
@@ -22,9 +22,9 @@ namespace vkcv {
 	}
 
 	PassHandle passSwapchain(Core &core, const SwapchainHandle &swapchain,
-							 const std::vector<vk::Format> formats, bool clear,
+							 const std::vector<vk::Format> &formats, bool clear,
 							 Multisampling multisampling) {
-		std::vector<vk::Format> swapchainFormats(formats);
+		std::vector<vk::Format> swapchainFormats (formats);
 
 		for (auto &format : swapchainFormats) {
 			if (vk::Format::eUndefined == format) {