More work on C++ port
Add more files to the build