added data generator