updated Data generation