migrated to CMake