First version of Reproduction.reproduce()