Some structure adjustments

* Added CMakeLists to employ CMake building process.

* Added Makefile to call CMake

* Structured sources