recursively copy