New c++ library

I agree. Merge then cleanup.