support devices other than uri and zor, use contextlib for clarity, support vbox ubuntu