drc: put passes in their own functions