Depth First Search

Add depth first search functionality