added cvector(has bad bug)