Added graph implementation with adjacency lists