     
     private let phAsset: PHAsset
     private let documentsFolderURL: URL?
+    private let uploadApproach: VIMUpload.UploadApproach
 
     open var url: URL?
     open var video: VIMVideo?

    {
        let videoSettings = self.videoSettings
        
        let operation = CreateVideoOperation(sessionManager: self.sessionManager, url: url, videoSettings: videoSettings)
        operation.completionBlock = { [weak self] () -> Void in
            
            DispatchQueue.main.async(execute: { [weak self] () -> Void in

    ///   - documentsFolderURL: An URL pointing to a Documents folder;
    ///   default to `nil`. For third-party use, this argument should not be
    ///   filled.
    ///   - uploadApproach: A method to upload the asset; default to
    ///   `Streaming`.
    public init(phAsset: PHAsset, sessionManager: VimeoSessionManager, videoSettings: VideoSettings? = nil, documentsFolderURL: URL? = nil, uploadApproach: VIMUpload.UploadApproach = .Streaming)
    {
        self.phAsset = phAsset
        
