I am trying to implement a BFS to get the path from a starting vertex using the code below, where can I go from here?

```
class Node:
def __init__ (self, value):
self.vertex = value
self.next = None
class Graph:
def __init__(self, vertices):
self.vx = vertices
self.graph = (None) * self.vx
def add_edge(self, node1, node2):
# This is connection for 1st node
node = Node(node2)
node.next = self.graph(node1)
self.graph(node1) = node
# This is connection for 2nd node
node = Node(node1)
node.next = self.graph(node2)
self.graph(node2) = node
def print(self):
print("Adjacency List")
for i in range(len(self.graph)):
print(i, ":", end="")
a = self.graph(i)
while a:
print(" " ,(a.vertex), end="")
a = a.next
print("n",end="")
# First Graph
graph = Graph(8)
graph.add_edge(0, 2)
graph.add_edge(0, 3)
graph.add_edge(1, 4)
graph.add_edge(2, 1)
graph.add_edge(2, 3)
graph.add_edge(3, 4)
graph.add_edge(3, 5)
graph.add_edge(4, 5)
graph.add_edge(5, 7)
```

So for example if I input 2 I want the path to be able to go to 0.

Meaning it’ll have 2 > 0