<s>[INST] Here is some code that adds the ability to create graphs using an adjacency list representation for the graph implemented using a custom dictionary class. What the code needs to add is for the ability for the insert and delete methods of the graph to check if the edge exists before adding or deleting an edge. Here is the code:

```
class DictNode:
    def __init__(self, key, value):
        self.key = key
        self.value = value
        self.next  = None

class Graph:
    def __init__(self):
        self.dict = {}

    def insert_edge(self, source, destination, weight):
        if (source in self.dict) == False:
            node = DictNode(source, {})
            self.dict[source] = node

        if (destination in self.dict[source].value) == False:
            node = DictNode(destination, weight)
            self.dict[source].value[destination] = node.value
            self.dict[source].value[destination] = weight

    def delete_edge(self, source, destination):
        if (source in self.dict) == True:
            if (destination in self.dict[source].value) == True:
                del self.dict[source].value[destination]

                if len(self.dict[source].value) == 0:
                    del self.dict[source]

    def display(self):
        for key in self.dict:
            print("Source", key, end = " -> ")
            for k, v in self.dict[key].value.items():
                print("Destination", k, ", Weight: ", v, end = " | ")
            print("End of edges")
```

What modifications do I need to make to the code to have the insertion and deletion of the edges method to check if the edge already exists?[/INST]