generate next generation