untangle generator from block visitor