Depth first working