diff --git a/include/vkcv/SwapChain.hpp b/include/vkcv/SwapChain.hpp
index 147fc6dccece2f89bedcefb6201ef85f03393e20..e56866ff6a1802e3c2df0fb44e1c7ccaef656192 100644
--- a/include/vkcv/SwapChain.hpp
+++ b/include/vkcv/SwapChain.hpp
@@ -9,10 +9,19 @@ namespace vkcv {
     private:
 
         vk::SurfaceKHR m_surface;
-		vk::SwapchainKHR m_swapchain;
-		vk::SurfaceFormatKHR m_format;
-		
-        SwapChain(vk::SurfaceKHR surface, vk::SwapchainKHR swapchain, vk::SurfaceFormatKHR format);
+        vk::SwapchainKHR m_swapchain;
+        vk::SurfaceFormatKHR m_format;
+
+        /**
+         * Constructor of a SwapChain object
+         * glfw is not initialized in this class because ist must be sure that there exists a context first
+         * glfw is already initialized by the window class
+         * @param surface used by the swapchain
+         * @param context of the application
+         * @param swapchain to show images in the window
+         * @param format
+         */
+        SwapChain(vk::SurfaceKHR surface, const vkcv::Context &context, vk::SwapchainKHR swapchain, vk::SurfaceFormatKHR format);
 
     public:
         SwapChain(const SwapChain &other) = default;
@@ -25,13 +34,30 @@ namespace vkcv {
         [[nodiscard]]
         vk::SwapchainKHR getSwapchain();
 
+        /**
+         * gets the current surface object
+         * @return current surface
+         */
         [[nodiscard]]
         vk::SurfaceKHR getSurface();
-
+        /**
+         * gets the current surface format
+         * @return gets the surface format
+         */
         [[nodiscard]]
         vk::SurfaceFormatKHR getSurfaceFormat();
 
+        /**
+         * creates a swap chain object out of the given window and the given context
+         * @param window a wrapper that represents a glfw window
+         * @param context of the application
+         * @return returns an object of swapChain
+         */
         static SwapChain create(const Window &window, const Context &context);
+
+        /**
+         * Destructor of SwapChain
+         */
         virtual ~SwapChain();
     };