add missing files to CMakeLists
fix missing implementation