CPP Interface