to be consistent there need not to be c_str