A depth-first searcher