added cpp structure