add DepthFirstSearch