I added some classes, i don't want to make a global type for directed
and undirected graphs, i want to keep the mathematics terms :)