https://betapython.com/depth-first-search-graph-searching-algorithm-in-python/
Depth First Search: Graph Searching Algorithm in Python