cpp: Add initial implementation