New: depth-first