refactored FileCopy and FileCopyDir