add copyRecursive
add new io errors