Add depth first search