cleanups and rewrites to the vector divide class