add Vdo and refine