2nd draft of data generation