update cpp interface