Use size_t as index
Modified directory structure, add CMake related files