organize project and create a cmake