depth_first_search and recursive depth_first_search done