diff --git a/src/lib/include/paradiso/aabb.hpp b/src/lib/include/paradiso/aabb.hpp
index 62267bf..cad123f 100644
--- a/src/lib/include/paradiso/aabb.hpp
+++ b/src/lib/include/paradiso/aabb.hpp
@@ -1,5 +1,5 @@
 /*
- * Copyright 2023 Hartmut Seichter
+ * Copyright 2023-2024 Hartmut Seichter
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
@@ -59,4 +59,4 @@ struct AABB final {
 
 } // namespace paradiso
 
-#endif
\ No newline at end of file
+#endif
diff --git a/src/lib/include/paradiso/bitmap.hpp b/src/lib/include/paradiso/bitmap.hpp
index d75d352..d6971f5 100644
--- a/src/lib/include/paradiso/bitmap.hpp
+++ b/src/lib/include/paradiso/bitmap.hpp
@@ -1,5 +1,5 @@
 /*
- * Copyright 2023 Hartmut Seichter
+ * Copyright 2023-2024 Hartmut Seichter
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
@@ -106,4 +106,4 @@ struct Bitmap final {
 };
 } // namespace paradiso
 
-#endif
\ No newline at end of file
+#endif
diff --git a/src/lib/include/paradiso/bitmap_io.hpp b/src/lib/include/paradiso/bitmap_io.hpp
index 0ed2cff..af0c529 100644
--- a/src/lib/include/paradiso/bitmap_io.hpp
+++ b/src/lib/include/paradiso/bitmap_io.hpp
@@ -1,5 +1,5 @@
 /*
- * Copyright 2023 Hartmut Seichter
+ * Copyright 2023-2024 Hartmut Seichter
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
@@ -53,4 +53,4 @@ struct BitmapIO {
 
 } // namespace paradiso
 
-#endif
\ No newline at end of file
+#endif
diff --git a/src/lib/include/paradiso/context.hpp b/src/lib/include/paradiso/context.hpp
index f53495a..31a9ac1 100644
--- a/src/lib/include/paradiso/context.hpp
+++ b/src/lib/include/paradiso/context.hpp
@@ -1,5 +1,5 @@
 /*
- * Copyright 2023 Hartmut Seichter
+ * Copyright 2023-2024 Hartmut Seichter
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
diff --git a/src/lib/include/paradiso/geometry.hpp b/src/lib/include/paradiso/geometry.hpp
index e3a8393..acd018a 100644
--- a/src/lib/include/paradiso/geometry.hpp
+++ b/src/lib/include/paradiso/geometry.hpp
@@ -1,5 +1,5 @@
 /*
- * Copyright 2023 Hartmut Seichter
+ * Copyright 2023-2024 Hartmut Seichter
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
@@ -71,4 +71,4 @@ struct Rectangle final {
 };
 } // namespace paradiso
 
-#endif
\ No newline at end of file
+#endif
diff --git a/src/lib/include/paradiso/globals.hpp b/src/lib/include/paradiso/globals.hpp
index 3c126ed..440bc7d 100644
--- a/src/lib/include/paradiso/globals.hpp
+++ b/src/lib/include/paradiso/globals.hpp
@@ -1,5 +1,5 @@
 /*
- * Copyright 2023 Hartmut Seichter
+ * Copyright 2023-2024 Hartmut Seichter
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
@@ -41,4 +41,4 @@
 
 
 
-#endif
\ No newline at end of file
+#endif
diff --git a/src/lib/include/paradiso/matrix.hpp b/src/lib/include/paradiso/matrix.hpp
index f5c87e0..c359a87 100644
--- a/src/lib/include/paradiso/matrix.hpp
+++ b/src/lib/include/paradiso/matrix.hpp
@@ -1,5 +1,5 @@
 /*
- * Copyright 2023 Hartmut Seichter
+ * Copyright 2023-2024 Hartmut Seichter
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
@@ -32,7 +32,7 @@ namespace paradiso {
 template <std::size_t R, std::size_t C, typename Scalar, bool RowMajor = false>
 struct Matrix : MatrixBase<Scalar, Matrix<R, C, Scalar>> {
 
-    Scalar data[R * C]{}; 
+    Scalar data[R * C]{};
 
     static constexpr std::size_t rows{R};
     static constexpr std::size_t cols{C};
diff --git a/src/lib/include/paradiso/matrixbase.hpp b/src/lib/include/paradiso/matrixbase.hpp
index 491102b..b20a8d4 100644
--- a/src/lib/include/paradiso/matrixbase.hpp
+++ b/src/lib/include/paradiso/matrixbase.hpp
@@ -1,5 +1,5 @@
 /*
- * Copyright 2023 Hartmut Seichter
+ * Copyright 2023-2024 Hartmut Seichter
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
@@ -144,4 +144,4 @@ template <typename Scalar, typename Derived> struct MatrixBase {
 };
 
 } // namespace paradiso
-#endif
\ No newline at end of file
+#endif
diff --git a/src/lib/include/paradiso/renderer.hpp b/src/lib/include/paradiso/renderer.hpp
index 2f349de..b52a908 100644
--- a/src/lib/include/paradiso/renderer.hpp
+++ b/src/lib/include/paradiso/renderer.hpp
@@ -1,5 +1,5 @@
 /*
- * Copyright 2023 Hartmut Seichter
+ * Copyright 2023-2024 Hartmut Seichter
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
diff --git a/src/lib/include/paradiso/rgba.hpp b/src/lib/include/paradiso/rgba.hpp
index 0ab6ec4..d7745e2 100644
--- a/src/lib/include/paradiso/rgba.hpp
+++ b/src/lib/include/paradiso/rgba.hpp
@@ -1,5 +1,5 @@
 /*
- * Copyright 2023 Hartmut Seichter
+ * Copyright 2023-2024 Hartmut Seichter
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
@@ -90,4 +90,4 @@ struct RGBA final {
 };
 } // namespace paradiso
 
-#endif
\ No newline at end of file
+#endif
diff --git a/src/lib/include/paradiso/shader.hpp b/src/lib/include/paradiso/shader.hpp
index 549fe7d..d51f6cf 100644
--- a/src/lib/include/paradiso/shader.hpp
+++ b/src/lib/include/paradiso/shader.hpp
@@ -1,5 +1,5 @@
 /*
- * Copyright 2023 Hartmut Seichter
+ * Copyright 2023-2024 Hartmut Seichter
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
@@ -58,7 +58,7 @@ struct Shader final {
     const Shader&
     set_uniform_at_location(int location,
                             float v) const; //!< sets a float in a shader
-                            
+
     const Shader& set_uniform_at_location(
         int location,
         uint32_t v) const; //!< sets a 32bit unsigned in a shader
diff --git a/src/lib/include/paradiso/sprite.hpp b/src/lib/include/paradiso/sprite.hpp
index 34a024b..a518e51 100644
--- a/src/lib/include/paradiso/sprite.hpp
+++ b/src/lib/include/paradiso/sprite.hpp
@@ -1,5 +1,5 @@
 /*
- * Copyright 2023 Hartmut Seichter
+ * Copyright 2023-2024 Hartmut Seichter
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
@@ -72,4 +72,4 @@ struct Sprite final {
 };
 } // namespace paradiso
 
-#endif
\ No newline at end of file
+#endif
diff --git a/src/lib/include/paradiso/vector.hpp b/src/lib/include/paradiso/vector.hpp
index 647f8cf..2012ef5 100644
--- a/src/lib/include/paradiso/vector.hpp
+++ b/src/lib/include/paradiso/vector.hpp
@@ -1,5 +1,5 @@
 /*
- * Copyright 2023 Hartmut Seichter
+ * Copyright 2023-2024 Hartmut Seichter
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
@@ -82,4 +82,4 @@ template <typename T> struct Vector3 : Matrix<3, 1, T> {
 
 }; // namespace paradiso
 
-#endif
\ No newline at end of file
+#endif
diff --git a/src/lib/include/paradiso/window.hpp b/src/lib/include/paradiso/window.hpp
index 6613b99..91337ac 100644
--- a/src/lib/include/paradiso/window.hpp
+++ b/src/lib/include/paradiso/window.hpp
@@ -1,5 +1,5 @@
 /*
- * Copyright 2023 Hartmut Seichter
+ * Copyright 2023-2024 Hartmut Seichter
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
@@ -89,4 +89,4 @@ struct Window final {
 
 } // namespace paradiso
 
-#endif
\ No newline at end of file
+#endif
diff --git a/src/lib/src/bitmap_io.cpp b/src/lib/src/bitmap_io.cpp
index fabfda3..3490669 100644
--- a/src/lib/src/bitmap_io.cpp
+++ b/src/lib/src/bitmap_io.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright 2023 Hartmut Seichter
+ * Copyright 2023-2024 Hartmut Seichter
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
@@ -138,4 +138,4 @@ std::string BitmapIO::path() const
 }
 
 
-} // namespace paradiso
\ No newline at end of file
+} // namespace paradiso
diff --git a/src/lib/src/context.cpp b/src/lib/src/context.cpp
index 031ca07..6ef465c 100644
--- a/src/lib/src/context.cpp
+++ b/src/lib/src/context.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright 2023 Hartmut Seichter
+ * Copyright 2023-2024 Hartmut Seichter
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
@@ -71,7 +71,7 @@ struct Context::impl {
 
 Context::Context() : impl_(std::make_unique<impl>()) {}
 
-Context::~Context() {}
+Context::~Context() = default;
 
 Context& Context::set_blend() { return *this; }
 
diff --git a/src/lib/src/renderer.cpp b/src/lib/src/renderer.cpp
index 3c5853d..ab03c23 100644
--- a/src/lib/src/renderer.cpp
+++ b/src/lib/src/renderer.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright 2023 Hartmut Seichter
+ * Copyright 2023-2024 Hartmut Seichter
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
@@ -34,7 +34,7 @@
 #include <vector>
 #include <limits>
 
-#if defined(_WIN32) 
+#if defined(_WIN32)
 #undef max
 #endif
 
diff --git a/src/lib/src/shader.cpp b/src/lib/src/shader.cpp
index 7a6b04e..e3d6b73 100644
--- a/src/lib/src/shader.cpp
+++ b/src/lib/src/shader.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright 2023 Hartmut Seichter
+ * Copyright 2023-2024 Hartmut Seichter
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
diff --git a/src/lib/src/shader_sprite.hpp b/src/lib/src/shader_sprite.hpp
index fc4c15d..1f546c9 100644
--- a/src/lib/src/shader_sprite.hpp
+++ b/src/lib/src/shader_sprite.hpp
@@ -1,5 +1,5 @@
 /*
- * Copyright 2023 Hartmut Seichter
+ * Copyright 2023-2024 Hartmut Seichter
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
@@ -34,7 +34,7 @@ layout (location = 2) in vec2 texture_coords;
 
 // pivot der sprite
 uniform vec2 pivot = vec2( 0.0, 0.0 );
-// scale 
+// scale
 uniform vec2 scale = vec2( 1.0, 1.0 );
 // rotation
 uniform float rotation = 0.0;
@@ -80,4 +80,4 @@ void main() {
 })";
 } // namespace paradiso
 
-#endif
\ No newline at end of file
+#endif
diff --git a/src/lib/src/window.cpp b/src/lib/src/window.cpp
index 4962439..a264dcf 100644
--- a/src/lib/src/window.cpp
+++ b/src/lib/src/window.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright 2023 Hartmut Seichter
+ * Copyright 2023-2024 Hartmut Seichter
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal