CPP wrapper