Reorganized files and added a CMake file