add copy&archive function