generate data dynamically, iteration1