more explicit cpp