update visited_nodes
depth first search
depth first search tests