change to storing adjacency as boolean vector