first implementation of BlockGenerator iteration mechanism