add structure for doing reproduce