A graph data-structure