How Depth First Search Works