Implement DFS Search