diff --git a/graphite.cabal b/graphite.cabal
--- a/graphite.cabal
+++ b/graphite.cabal
@@ -1,5 +1,5 @@
 name:                graphite
-version:             0.7.0.0
+version:             0.8.0.0
 synopsis:            Graphs and networks library
 description:         Represent, analyze and visualize graphs
 homepage:            https://github.com/alx741/graphite#readme
diff --git a/src/Data/Graph/DGraph.hs b/src/Data/Graph/DGraph.hs
--- a/src/Data/Graph/DGraph.hs
+++ b/src/Data/Graph/DGraph.hs
@@ -39,7 +39,7 @@
     order (DGraph _ g) = HM.size g
     size (DGraph s _) = s
     vertices (DGraph _ g) = HM.keys g
-    edgePairs g = toPair <$> arcs g
+    edgeTriples g = toTriple <$> arcs g
 
 
     containsVertex (DGraph _ g) = flip HM.member g
@@ -52,17 +52,16 @@
         (vertices g)
 
     adjacentVertices' g v = fmap
-        (\(fromV, toV, e) -> if fromV == v then (toV, e) else (fromV, e)) $
+        (\(fromV, toV, e) -> if fromV == v then (fromV, toV, e) else (toV, fromV, e)) $
         filter
             (\(fromV, toV, _) -> fromV == v || toV == v)
             (toTriple <$> toList g)
 
     reachableAdjacentVertices (DGraph _ g) v = HM.keys (getLinks v g)
 
-    reachableAdjacentVertices' g v = fmap (\(_, toV, e) -> (toV, e)) $
-        filter
-            (\(fromV, _, _) -> fromV == v)
-            (toTriple <$> toList g)
+    reachableAdjacentVertices' g v = filter
+        (\(fromV, _, _) -> fromV == v)
+        (toTriple <$> toList g)
 
     -- | The total number of inbounding and outbounding 'Arc's of a vertex
     vertexDegree g v = vertexIndegree g v + vertexOutdegree g v
@@ -74,7 +73,7 @@
         where v1Links = getLinks v1 g
 
 
-    incidentEdgePairs g v = toPair <$> incidentArcs g v
+    incidentEdgeTriples g v = toTriple <$> incidentArcs g v
     insertEdgeTriple (v1, v2, e) = insertArc (Arc v1 v2 e)
 
     removeEdgePair (v1, v2) graph@(DGraph s g)
diff --git a/src/Data/Graph/Types.hs b/src/Data/Graph/Types.hs
--- a/src/Data/Graph/Types.hs
+++ b/src/Data/Graph/Types.hs
@@ -44,11 +44,10 @@
 
     -- | Retrieve the adjacent vertices of a vertex
     adjacentVertices :: (Hashable v, Eq v) => g v e -> v -> [v]
-    adjacentVertices g v = fst <$> adjacentVertices' g v
+    adjacentVertices g v = (\(_, v', _) -> v') <$> adjacentVertices' g v
 
-    -- | Same as 'adjacentVertices' but pairs the vertex with the connecting
-    -- | edge's attribute
-    adjacentVertices' :: (Hashable v, Eq v) => g v e -> v -> [(v, e)]
+    -- | Same as 'adjacentVertices' but gives back the connecting edges
+    adjacentVertices' :: (Hashable v, Eq v) => g v e -> v -> [(v, v, e)]
 
     -- | Same as 'adjacentVertices' but gives back only those vertices for which
     -- | the connecting edge allows the vertex to be reached.
@@ -57,11 +56,10 @@
     -- | for the case of a directed graph, the directed arcs will constrain the
     -- | reachability of the adjacent vertices.
     reachableAdjacentVertices :: (Hashable v, Eq v) => g v e -> v -> [v]
-    reachableAdjacentVertices g v = fst <$> reachableAdjacentVertices' g v
+    reachableAdjacentVertices g v = (\(_, v', _) -> v') <$> reachableAdjacentVertices' g v
 
-    -- | Same as 'reachableAdjacentVertices' but pairs the vertex with the
-    -- | connecting edge's attribute
-    reachableAdjacentVertices' :: (Hashable v, Eq v) => g v e -> v -> [(v, e)]
+    -- | Same as 'reachableAdjacentVertices' but gives back the connecting edges
+    reachableAdjacentVertices' :: (Hashable v, Eq v) => g v e -> v -> [(v, v, e)]
 
     -- | Total number of incident edges of a vertex
     vertexDegree :: (Hashable v, Eq v) => g v e -> v -> Int
diff --git a/src/Data/Graph/UGraph.hs b/src/Data/Graph/UGraph.hs
--- a/src/Data/Graph/UGraph.hs
+++ b/src/Data/Graph/UGraph.hs
@@ -50,7 +50,7 @@
     containsVertex (UGraph _ g) = flip HM.member g
     areAdjacent (UGraph _ g) v1 v2 = HM.member v2 $ getLinks v1 g
     adjacentVertices (UGraph _ g) v = HM.keys $ getLinks v g
-    adjacentVertices' (UGraph _ g) v = HM.toList $ getLinks v g
+    adjacentVertices' (UGraph _ g) v = fmap (\(toV, e) -> (v, toV, e)) $ HM.toList $ getLinks v g
     reachableAdjacentVertices = adjacentVertices
     reachableAdjacentVertices' = adjacentVertices'
     vertexDegree (UGraph _ g) v = length $ HM.keys $ getLinks v g
