fixed up site_collection class to be able to process with an adjacency matrix, it's actually a bit ugly now, but works