first steps towards a C++ base implementation
ongoing work
Merge branch 'master' into cc_library