Ahh, yes I noticed that when I scanned through the previous posts, sorry for replication. I have three more quick questions: 1) If I fitted a different SBM to splitted the graph, wouldn't the communities in individual layers be temporally discrete? That's not quite what I want because I want to track an evolution, but I'm open to process that result in a temporally overlapping fashion(some sort of set matching algorithms between layers.) 2) When I pass overlap =True to LayeredBlockState, I have NxT many nodes as a result like you said, that's all fine. However, now I can't get the node membership using .get_blocks(). levels = states[0].get_levels() levels[0].get_blocks() is a list of length M(total number of edges in the network) which should be a list of length NxT, isn't it? Again, it feels like I'm missing something very trivial here... 3) Also, is there a method for levels[0] that I can call to get the total number of communities up front? I can see the number of blocks when I do states[0].print_summary() but I need the integer value of this number for preprocessing.. Thank you!! -- Sent from: https://nabble.skewed.de/