Add the file_copy plugin

(One big patch!)