another refactor: eliminating storing upstream/downstream devices in operate fragment