Adding synthetic data generation. Far from finished