implemented v_o