generates a graph?