impl file & directory copy