Synthesizing large datasets