improved cmakelist