diff --git a/CMakeLists.txt b/CMakeLists.txt
index acd22c9ba7a6ae88b6875bbd91c6cc1e59c3ac4c..8f3c5d712819558d928d08fd544e633461414d64 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,17 +1,15 @@
-## CMake file for the Q-Pong game.
-##
-project(QuantumPong)
+# CMake file for the QPong project.
+project(QPong)
 cmake_minimum_required(VERSION 3.2)
 
 
-## Options
+# Options
 option(create_test "Build all tests." OFF)
 option(release_type "Set the type of the releas (Debug/Release)." Release)
 
 
-## Use modern C++!
+# Use modern C++!
 set(CMAKE_CXX_STANDARD 17)
-set(CMAKE_BUILD_TYPE Release)
 
 
 ## PkgConfig
diff --git a/gtk_qpong_app/ParticleImage.cpp b/gtk_qpong_app/ParticleImage.cpp
index 0dde648c9bde1ae35038ec00f0e92769e7b56a28..e51aa727fca45ce3daf0f084f7981d0b0b976f23 100644
--- a/gtk_qpong_app/ParticleImage.cpp
+++ b/gtk_qpong_app/ParticleImage.cpp
@@ -6,6 +6,8 @@
 #include "ParticleImage.hpp"
 #include "Common.hpp"
 
+using namespace QPong;
+
 constexpr int bytesPerPixel = 3;
 constexpr int bitsPerSample = 8;
 
diff --git a/gtk_qpong_app/ParticleImage.hpp b/gtk_qpong_app/ParticleImage.hpp
index 5e481856b7e4cee40e14f603cba07da3c7fe8f51..8d8ab97f11f891d77fe12bb83db31beafae7aed8 100644
--- a/gtk_qpong_app/ParticleImage.hpp
+++ b/gtk_qpong_app/ParticleImage.hpp
@@ -13,10 +13,11 @@
 #include "ImageBuffer.hpp"
 
 
+
 /// @brief  Wraps an one dimensional array.
 ///         Values can be accessed as in 2D.
 ///
-class ParticleImage : public ImageBuffer
+class ParticleImage : public QPong::ImageBuffer
 {
 public:
     ParticleImage();
diff --git a/gtk_qpong_app/QWindow.cpp b/gtk_qpong_app/QWindow.cpp
index 2943cbe0130f79bb4ecba30186a8ef06f354b376..16d7a9708cf0d361a91ae15c24efd0a98b3bb9ee 100644
--- a/gtk_qpong_app/QWindow.cpp
+++ b/gtk_qpong_app/QWindow.cpp
@@ -4,7 +4,7 @@
 
 #include "QWindow.hpp"
 
-// #include "Profiler.hpp"
+using namespace QPong;
 
 bool propagating = true;
 int propRate = 0;
diff --git a/gtk_qpong_app/QWindow.hpp b/gtk_qpong_app/QWindow.hpp
index f9c31333e0b8e18a8b1c619121d61f517572041b..b9a610d287b61eba61a38857d57448593b629257 100644
--- a/gtk_qpong_app/QWindow.hpp
+++ b/gtk_qpong_app/QWindow.hpp
@@ -72,13 +72,13 @@ private:
     QDrawingArea m_positionArea;
     QDrawingArea m_momentumArea;
 
-    Particle *m_particle;
+    QPong::Particle *m_particle;
     std::thread m_propagatingThread;
     ParticleImage *m_momentum;
     ParticleImage *m_position;
     ParticleImage *m_obstacle;
 
-    std::map<Player::Id, std::shared_ptr<Player>> m_players;
+    std::map<QPong::Player::Id, std::shared_ptr<QPong::Player>> m_players;
 };
 
 #endif
\ No newline at end of file
diff --git a/qpong_core/CMakeLists.txt b/qpong_core/CMakeLists.txt
index 4c14ed29b211502df984471460d6b13c18a10c2b..b6f2974fbc7fd21e6f24281e53c9e9b92c555f67 100644
--- a/qpong_core/CMakeLists.txt
+++ b/qpong_core/CMakeLists.txt
@@ -1,12 +1,7 @@
+# Add macOS specific include path.
 if(APPLE)
     include_directories(/usr/local/include)
 endif()
 
-## library for the app should be GTK independent
-##
-add_library(
-    qpong_core
-    Particle.cpp
-    ImageBuffer.cpp
-    Player.cpp
-)
+# Core QPong library
+add_library(qpong_core Particle.cpp ImageBuffer.cpp Player.cpp)
\ No newline at end of file
diff --git a/qpong_core/Common.hpp b/qpong_core/Common.hpp
index 61b8638739fd57f22e663bee81fd178be62ffc9d..095bddff85a436d62f42cb251e4b1bc543a77000 100644
--- a/qpong_core/Common.hpp
+++ b/qpong_core/Common.hpp
@@ -17,7 +17,6 @@ constexpr unsigned arraySize = arrayWidth * arrayHeight;
 
 static_assert(arraySize % numberOfThreads == 0, "Number of threads and array size doesn't match!");
 
-}
 
 ///  @brief Calc square of a number.
 ///
@@ -27,4 +26,5 @@ const T sqr(const T n)
     return n * n;
 }
 
+}
 #endif
\ No newline at end of file
diff --git a/qpong_core/ImageBuffer.cpp b/qpong_core/ImageBuffer.cpp
index f4c5288b653a50d3c2a678368fd66f1d6c34a57a..b4a524b9b65cb2edcd870e0871c34c8e87511aed 100644
--- a/qpong_core/ImageBuffer.cpp
+++ b/qpong_core/ImageBuffer.cpp
@@ -5,6 +5,8 @@
 #include "Common.hpp"
 #include "ImageBuffer.hpp"
 
+using namespace QPong;
+
 ImageBuffer::ImageBuffer()
 {
     m_potbuf = new double[QPong::arraySize];
diff --git a/qpong_core/ImageBuffer.hpp b/qpong_core/ImageBuffer.hpp
index fcbb81ee504f60bedc83fed3a09b6fe20e5be845..d7b58e93e5c507e4a7a10e75731165230bf2894c 100644
--- a/qpong_core/ImageBuffer.hpp
+++ b/qpong_core/ImageBuffer.hpp
@@ -9,16 +9,18 @@
 
 #include <complex>
 
+namespace QPong
+{
+
 /// @brief Convinient conatiner to store a RGB value.
 ///        {r, g, b}
 struct QColor
 {
-    float r = 0;
-    float g = 0;
-    float b = 0;
+    float r = 0.0f;
+    float g = 0.0f;
+    float b = 0.0f;
 };
 
-
 /// @brief Class ImageBuffer
 ///
 class ImageBuffer
@@ -28,23 +30,22 @@ public:
     ///
     ImageBuffer();
 
-
     /// @brief Update the buffer at the given position.
     /// @param index Index of the value that should be changed.
     /// @param v The value as a complex number which will be interpreted as a color.
     /// @param pot Potential at position.
-    /// 
+    ///
     void updateAt(unsigned index, std::complex<double> v, double pot);
 
-
     /// @return Get color value from particle at array index.
     ///
     const QColor getValue(unsigned index);
 
-
 private:
     double *m_potbuf;
     std::complex<double> *m_complexBuffer;
 };
 
+} // namespace QPong
+
 #endif
diff --git a/qpong_core/Particle.cpp b/qpong_core/Particle.cpp
index a019f41f2f05751c2fea7beb882e5a2ec65d0fea..9e714e2253f839db633f1507b254f30fed6adcfc 100644
--- a/qpong_core/Particle.cpp
+++ b/qpong_core/Particle.cpp
@@ -12,6 +12,8 @@
 #include "Common.hpp"
 #include "Particle.hpp"
 
+using namespace QPong;
+
 /// @brief Planck constant.
 ///
 constexpr double hbar = 0.0002;
diff --git a/qpong_core/Particle.hpp b/qpong_core/Particle.hpp
index 3af6f5a01eefbe4c530b74a934af60449d2a4b1b..0477612d625d4c2a94cd8a10cc3ba44943efb554 100644
--- a/qpong_core/Particle.hpp
+++ b/qpong_core/Particle.hpp
@@ -17,6 +17,7 @@
 #include "ImageBuffer.hpp"
 #include "Player.hpp"
 
+namespace QPong {
 
 class Particle
 {
@@ -87,4 +88,6 @@ private:
     Particle() = delete;
 };
 
+} // namespace QPong
+
 #endif
\ No newline at end of file
diff --git a/qpong_core/Player.cpp b/qpong_core/Player.cpp
index 5076bc23e21a9e9a2c12a9f7fc0135f8c0b84e3f..31db21340b65b86981484c1555e600563c7b524e 100644
--- a/qpong_core/Player.cpp
+++ b/qpong_core/Player.cpp
@@ -7,6 +7,7 @@
 #include <mutex>
 #include "Player.hpp"
 
+using namespace QPong;
 
 constexpr double speedStepSize = 0.0005;
 
@@ -16,7 +17,6 @@ Player::Player(Player::Id pl, Player::Position pos)
     , m_x {pos.x}
     , m_y {pos.y}
 {
-
 }
 
 
diff --git a/qpong_core/Player.hpp b/qpong_core/Player.hpp
index dcc7e8f56530190e41e2c78139ce82918f41bc86..7154bc9ae2705929b17696a2638a33f2cd264ad0 100644
--- a/qpong_core/Player.hpp
+++ b/qpong_core/Player.hpp
@@ -8,6 +8,7 @@
 #ifndef QPONG_QPLAYER_HPP
 #define QPONG_QPLAYER_HPP
 
+namespace QPong {
 
 /// @brief Class wraps all values of one Player.
 /// 
@@ -52,4 +53,6 @@ private:
     double m_score = 0;
 };
 
+} // namespace QPong
+
 #endif
\ No newline at end of file