initial graph implementation complete