ensemble generation