compile with -Weverything
organize source in directories
find source files in cmake
refactor