simplify the conservative update as a loop
simplify the dovis() stuff