inductive graph implementation
addEdge