Refactor #2 - CMakeLists and code cleanup

Seems everyone is going towards CMake only...