Renamed 'duplicate' to 'copy'
Implemented recursive copying