refact vc