fix includes
move definition to .cpp
mark undefined function as deleted
fixes for CMakeLists.txt