more progress on C++ side