Add generate data function