Class for manipulating adjacency lists
Finished everything except the final extraction of the new dataset