cpp model