first reproduction implementation