recursive file transfer