Restructured the code
Added missing files
Updated CMake file
Merge remote-tracking branch 'origin/use_cmake2'

* origin/use_cmake2:
  Updated CMake file
  Added missing files
  Restructured the code