finished data generation