https://getvm.medium.com/unravel-the-mysteries-of-graph-theory-with-these-free-tutorials-42cc6be83962