Inital commit for cpp target support    merged Greg Caldwell version