determine run order by step dependencies