Added Depth first search