it could be safer to check file.copy return