diff --git a/include/Socket.hpp.gch b/include/Socket.hpp.gch deleted file mode 100644 index 80b414b..0000000 Binary files a/include/Socket.hpp.gch and /dev/null differ diff --git a/src/AddrInfo.cpp b/lib/cpp_utils/AddrInfo.cpp similarity index 100% rename from src/AddrInfo.cpp rename to lib/cpp_utils/AddrInfo.cpp diff --git a/include/AddrInfo.hpp b/lib/cpp_utils/AddrInfo.hpp similarity index 100% rename from include/AddrInfo.hpp rename to lib/cpp_utils/AddrInfo.hpp diff --git a/src/ArgParse.cpp b/lib/cpp_utils/ArgParse.cpp similarity index 100% rename from src/ArgParse.cpp rename to lib/cpp_utils/ArgParse.cpp diff --git a/include/ArgParse.hpp b/lib/cpp_utils/ArgParse.hpp similarity index 100% rename from include/ArgParse.hpp rename to lib/cpp_utils/ArgParse.hpp diff --git a/include/Colors.hpp b/lib/cpp_utils/Colors.hpp similarity index 100% rename from include/Colors.hpp rename to lib/cpp_utils/Colors.hpp diff --git a/src/Common.cpp b/lib/cpp_utils/Common.cpp similarity index 100% rename from src/Common.cpp rename to lib/cpp_utils/Common.cpp diff --git a/include/Common.hpp b/lib/cpp_utils/Common.hpp similarity index 100% rename from include/Common.hpp rename to lib/cpp_utils/Common.hpp diff --git a/include/ConcurrentDeque.hpp b/lib/cpp_utils/ConcurrentDeque.hpp similarity index 100% rename from include/ConcurrentDeque.hpp rename to lib/cpp_utils/ConcurrentDeque.hpp diff --git a/src/ConditionVariable.cpp b/lib/cpp_utils/ConditionVariable.cpp similarity index 100% rename from src/ConditionVariable.cpp rename to lib/cpp_utils/ConditionVariable.cpp diff --git a/include/ConditionVariable.hpp b/lib/cpp_utils/ConditionVariable.hpp similarity index 100% rename from include/ConditionVariable.hpp rename to lib/cpp_utils/ConditionVariable.hpp diff --git a/src/Connection.cpp b/lib/cpp_utils/Connection.cpp similarity index 100% rename from src/Connection.cpp rename to lib/cpp_utils/Connection.cpp diff --git a/include/Connection.hpp b/lib/cpp_utils/Connection.hpp similarity index 100% rename from include/Connection.hpp rename to lib/cpp_utils/Connection.hpp diff --git a/src/Logger.cpp b/lib/cpp_utils/Logger.cpp similarity index 100% rename from src/Logger.cpp rename to lib/cpp_utils/Logger.cpp diff --git a/include/Logger.hpp b/lib/cpp_utils/Logger.hpp similarity index 100% rename from include/Logger.hpp rename to lib/cpp_utils/Logger.hpp diff --git a/include/Message.hpp b/lib/cpp_utils/Message.hpp similarity index 100% rename from include/Message.hpp rename to lib/cpp_utils/Message.hpp diff --git a/include/Multiton.hpp b/lib/cpp_utils/Multiton.hpp similarity index 100% rename from include/Multiton.hpp rename to lib/cpp_utils/Multiton.hpp diff --git a/src/Mutex.cpp b/lib/cpp_utils/Mutex.cpp similarity index 100% rename from src/Mutex.cpp rename to lib/cpp_utils/Mutex.cpp diff --git a/include/Mutex.hpp b/lib/cpp_utils/Mutex.hpp similarity index 100% rename from include/Mutex.hpp rename to lib/cpp_utils/Mutex.hpp diff --git a/src/MysqlClient.cpp b/lib/cpp_utils/MysqlClient.cpp similarity index 100% rename from src/MysqlClient.cpp rename to lib/cpp_utils/MysqlClient.cpp diff --git a/include/MysqlClient.hpp b/lib/cpp_utils/MysqlClient.hpp similarity index 100% rename from include/MysqlClient.hpp rename to lib/cpp_utils/MysqlClient.hpp diff --git a/src/MysqlConnectionPool.cpp b/lib/cpp_utils/MysqlConnectionPool.cpp similarity index 100% rename from src/MysqlConnectionPool.cpp rename to lib/cpp_utils/MysqlConnectionPool.cpp diff --git a/include/MysqlConnectionPool.hpp b/lib/cpp_utils/MysqlConnectionPool.hpp similarity index 100% rename from include/MysqlConnectionPool.hpp rename to lib/cpp_utils/MysqlConnectionPool.hpp diff --git a/include/ObjectPool.hpp b/lib/cpp_utils/ObjectPool.hpp similarity index 100% rename from include/ObjectPool.hpp rename to lib/cpp_utils/ObjectPool.hpp diff --git a/include/Observer.hpp b/lib/cpp_utils/Observer.hpp similarity index 100% rename from include/Observer.hpp rename to lib/cpp_utils/Observer.hpp diff --git a/src/Poll.cpp b/lib/cpp_utils/Poll.cpp similarity index 100% rename from src/Poll.cpp rename to lib/cpp_utils/Poll.cpp diff --git a/include/Poll.hpp b/lib/cpp_utils/Poll.hpp similarity index 100% rename from include/Poll.hpp rename to lib/cpp_utils/Poll.hpp diff --git a/src/ScopedLock.cpp b/lib/cpp_utils/ScopedLock.cpp similarity index 100% rename from src/ScopedLock.cpp rename to lib/cpp_utils/ScopedLock.cpp diff --git a/include/ScopedLock.hpp b/lib/cpp_utils/ScopedLock.hpp similarity index 100% rename from include/ScopedLock.hpp rename to lib/cpp_utils/ScopedLock.hpp diff --git a/src/Semaphore.cpp b/lib/cpp_utils/Semaphore.cpp similarity index 100% rename from src/Semaphore.cpp rename to lib/cpp_utils/Semaphore.cpp diff --git a/include/Semaphore.hpp b/lib/cpp_utils/Semaphore.hpp similarity index 100% rename from include/Semaphore.hpp rename to lib/cpp_utils/Semaphore.hpp diff --git a/include/Singleton.hpp b/lib/cpp_utils/Singleton.hpp similarity index 100% rename from include/Singleton.hpp rename to lib/cpp_utils/Singleton.hpp diff --git a/include/Singleton_DCLP.hpp b/lib/cpp_utils/Singleton_DCLP.hpp similarity index 100% rename from include/Singleton_DCLP.hpp rename to lib/cpp_utils/Singleton_DCLP.hpp diff --git a/include/Singleton_call_once.hpp b/lib/cpp_utils/Singleton_call_once.hpp similarity index 100% rename from include/Singleton_call_once.hpp rename to lib/cpp_utils/Singleton_call_once.hpp diff --git a/include/Singleton_meyers.hpp b/lib/cpp_utils/Singleton_meyers.hpp similarity index 100% rename from include/Singleton_meyers.hpp rename to lib/cpp_utils/Singleton_meyers.hpp diff --git a/src/Socket.cpp b/lib/cpp_utils/Socket.cpp similarity index 100% rename from src/Socket.cpp rename to lib/cpp_utils/Socket.cpp diff --git a/include/Socket.hpp b/lib/cpp_utils/Socket.hpp similarity index 100% rename from include/Socket.hpp rename to lib/cpp_utils/Socket.hpp diff --git a/src/SocketClient.cpp b/lib/cpp_utils/SocketClient.cpp similarity index 100% rename from src/SocketClient.cpp rename to lib/cpp_utils/SocketClient.cpp diff --git a/include/SocketClient.hpp b/lib/cpp_utils/SocketClient.hpp similarity index 100% rename from include/SocketClient.hpp rename to lib/cpp_utils/SocketClient.hpp diff --git a/src/SocketServer.cpp b/lib/cpp_utils/SocketServer.cpp similarity index 100% rename from src/SocketServer.cpp rename to lib/cpp_utils/SocketServer.cpp diff --git a/include/SocketServer.hpp b/lib/cpp_utils/SocketServer.hpp similarity index 100% rename from include/SocketServer.hpp rename to lib/cpp_utils/SocketServer.hpp diff --git a/src/SslConnection.cpp b/lib/cpp_utils/SslConnection.cpp similarity index 100% rename from src/SslConnection.cpp rename to lib/cpp_utils/SslConnection.cpp diff --git a/include/SslConnection.hpp b/lib/cpp_utils/SslConnection.hpp similarity index 100% rename from include/SslConnection.hpp rename to lib/cpp_utils/SslConnection.hpp diff --git a/include/StreamConnection.hpp b/lib/cpp_utils/StreamConnection.hpp similarity index 100% rename from include/StreamConnection.hpp rename to lib/cpp_utils/StreamConnection.hpp diff --git a/include/Task.hpp b/lib/cpp_utils/Task.hpp similarity index 100% rename from include/Task.hpp rename to lib/cpp_utils/Task.hpp diff --git a/src/TcpConnection.cpp b/lib/cpp_utils/TcpConnection.cpp similarity index 100% rename from src/TcpConnection.cpp rename to lib/cpp_utils/TcpConnection.cpp diff --git a/include/TcpConnection.hpp b/lib/cpp_utils/TcpConnection.hpp similarity index 100% rename from include/TcpConnection.hpp rename to lib/cpp_utils/TcpConnection.hpp diff --git a/src/Thread.cpp b/lib/cpp_utils/Thread.cpp similarity index 100% rename from src/Thread.cpp rename to lib/cpp_utils/Thread.cpp diff --git a/include/Thread.hpp b/lib/cpp_utils/Thread.hpp similarity index 100% rename from include/Thread.hpp rename to lib/cpp_utils/Thread.hpp diff --git a/src/ThreadPool.cpp b/lib/cpp_utils/ThreadPool.cpp similarity index 100% rename from src/ThreadPool.cpp rename to lib/cpp_utils/ThreadPool.cpp diff --git a/include/ThreadPool.hpp b/lib/cpp_utils/ThreadPool.hpp similarity index 100% rename from include/ThreadPool.hpp rename to lib/cpp_utils/ThreadPool.hpp diff --git a/src/TimedTcpConnection.cpp b/lib/cpp_utils/TimedTcpConnection.cpp similarity index 100% rename from src/TimedTcpConnection.cpp rename to lib/cpp_utils/TimedTcpConnection.cpp diff --git a/include/TimedTcpConnection.hpp b/lib/cpp_utils/TimedTcpConnection.hpp similarity index 100% rename from include/TimedTcpConnection.hpp rename to lib/cpp_utils/TimedTcpConnection.hpp diff --git a/src/Timer.cpp b/lib/cpp_utils/Timer.cpp similarity index 100% rename from src/Timer.cpp rename to lib/cpp_utils/Timer.cpp diff --git a/include/Timer.hpp b/lib/cpp_utils/Timer.hpp similarity index 100% rename from include/Timer.hpp rename to lib/cpp_utils/Timer.hpp diff --git a/src/TimerUser.cpp b/lib/cpp_utils/TimerUser.cpp similarity index 100% rename from src/TimerUser.cpp rename to lib/cpp_utils/TimerUser.cpp diff --git a/include/TimerUser.hpp b/lib/cpp_utils/TimerUser.hpp similarity index 100% rename from include/TimerUser.hpp rename to lib/cpp_utils/TimerUser.hpp diff --git a/src/WorkerThread.cpp b/lib/cpp_utils/WorkerThread.cpp similarity index 100% rename from src/WorkerThread.cpp rename to lib/cpp_utils/WorkerThread.cpp diff --git a/include/WorkerThread.hpp b/lib/cpp_utils/WorkerThread.hpp similarity index 100% rename from include/WorkerThread.hpp rename to lib/cpp_utils/WorkerThread.hpp diff --git a/test/Fixture.hpp b/test/cpp_utils/Fixture.hpp similarity index 100% rename from test/Fixture.hpp rename to test/cpp_utils/Fixture.hpp diff --git a/test/SimpleMessage.hpp b/test/cpp_utils/SimpleMessage.hpp similarity index 100% rename from test/SimpleMessage.hpp rename to test/cpp_utils/SimpleMessage.hpp diff --git a/test/test_ArgParse.hpp b/test/cpp_utils/test_ArgParse.hpp similarity index 100% rename from test/test_ArgParse.hpp rename to test/cpp_utils/test_ArgParse.hpp diff --git a/test/test_Common.hpp b/test/cpp_utils/test_Common.hpp similarity index 100% rename from test/test_Common.hpp rename to test/cpp_utils/test_Common.hpp diff --git a/test/test_ConditionalVariable.hpp b/test/cpp_utils/test_ConditionalVariable.hpp similarity index 100% rename from test/test_ConditionalVariable.hpp rename to test/cpp_utils/test_ConditionalVariable.hpp diff --git a/test/test_Connection.hpp b/test/cpp_utils/test_Connection.hpp similarity index 100% rename from test/test_Connection.hpp rename to test/cpp_utils/test_Connection.hpp diff --git a/test/test_Logger.hpp b/test/cpp_utils/test_Logger.hpp similarity index 100% rename from test/test_Logger.hpp rename to test/cpp_utils/test_Logger.hpp diff --git a/test/test_Message.hpp b/test/cpp_utils/test_Message.hpp similarity index 100% rename from test/test_Message.hpp rename to test/cpp_utils/test_Message.hpp diff --git a/test/test_Multiton.hpp b/test/cpp_utils/test_Multiton.hpp similarity index 100% rename from test/test_Multiton.hpp rename to test/cpp_utils/test_Multiton.hpp diff --git a/test/test_Mutex.hpp b/test/cpp_utils/test_Mutex.hpp similarity index 100% rename from test/test_Mutex.hpp rename to test/cpp_utils/test_Mutex.hpp diff --git a/test/test_ObjectPool.hpp b/test/cpp_utils/test_ObjectPool.hpp similarity index 100% rename from test/test_ObjectPool.hpp rename to test/cpp_utils/test_ObjectPool.hpp diff --git a/test/test_ScopedLock.hpp b/test/cpp_utils/test_ScopedLock.hpp similarity index 100% rename from test/test_ScopedLock.hpp rename to test/cpp_utils/test_ScopedLock.hpp diff --git a/test/test_Semaphore.hpp b/test/cpp_utils/test_Semaphore.hpp similarity index 100% rename from test/test_Semaphore.hpp rename to test/cpp_utils/test_Semaphore.hpp diff --git a/test/test_Singleton.hpp b/test/cpp_utils/test_Singleton.hpp similarity index 100% rename from test/test_Singleton.hpp rename to test/cpp_utils/test_Singleton.hpp diff --git a/test/test_Singleton_DCLP.hpp b/test/cpp_utils/test_Singleton_DCLP.hpp similarity index 100% rename from test/test_Singleton_DCLP.hpp rename to test/cpp_utils/test_Singleton_DCLP.hpp diff --git a/test/test_Singleton_call_once.hpp b/test/cpp_utils/test_Singleton_call_once.hpp similarity index 100% rename from test/test_Singleton_call_once.hpp rename to test/cpp_utils/test_Singleton_call_once.hpp diff --git a/test/test_Singleton_meyers.hpp b/test/cpp_utils/test_Singleton_meyers.hpp similarity index 100% rename from test/test_Singleton_meyers.hpp rename to test/cpp_utils/test_Singleton_meyers.hpp diff --git a/test/test_StreamConnection.hpp b/test/cpp_utils/test_StreamConnection.hpp similarity index 100% rename from test/test_StreamConnection.hpp rename to test/cpp_utils/test_StreamConnection.hpp diff --git a/test/test_TcpConnection.hpp b/test/cpp_utils/test_TcpConnection.hpp similarity index 100% rename from test/test_TcpConnection.hpp rename to test/cpp_utils/test_TcpConnection.hpp diff --git a/test/test_Thread.hpp b/test/cpp_utils/test_Thread.hpp similarity index 100% rename from test/test_Thread.hpp rename to test/cpp_utils/test_Thread.hpp diff --git a/test/test_ThreadPool.hpp b/test/cpp_utils/test_ThreadPool.hpp similarity index 100% rename from test/test_ThreadPool.hpp rename to test/cpp_utils/test_ThreadPool.hpp diff --git a/test/test_Timer.hpp b/test/cpp_utils/test_Timer.hpp similarity index 100% rename from test/test_Timer.hpp rename to test/cpp_utils/test_Timer.hpp diff --git a/test/test_timerUser.hpp b/test/cpp_utils/test_timerUser.hpp similarity index 100% rename from test/test_timerUser.hpp rename to test/cpp_utils/test_timerUser.hpp diff --git a/test/cov_check.pl b/test/tools/cov_check.pl similarity index 100% rename from test/cov_check.pl rename to test/tools/cov_check.pl diff --git a/test/gdb_out_parser.pl b/test/tools/gdb_out_parser.pl similarity index 100% rename from test/gdb_out_parser.pl rename to test/tools/gdb_out_parser.pl diff --git a/test/leak_check.pl b/test/tools/leak_check.pl similarity index 100% rename from test/leak_check.pl rename to test/tools/leak_check.pl diff --git a/test/run_test.sh b/test/tools/run_test.sh similarity index 100% rename from test/run_test.sh rename to test/tools/run_test.sh diff --git a/test/valgrind.supp b/test/tools/valgrind.supp similarity index 100% rename from test/valgrind.supp rename to test/tools/valgrind.supp