visual_gv reimplementation