better complete for cpp