rename to cpp
fix build after rename
rename to hpp
switch to c++ linkage and namespacing