applied cmake and seperated .cpp and .hpp