             break
         }
     
-        return clipURL!.appendingPathComponent(filename)
+        if let _ = clipURL {
+            clipURL!.appendPathComponent(filename)
+        } else {
+            clipURL = nil
+        }
+
+        return clipURL
     }
     
     public class func clip(withUrl url: URL?, infoDict: [String: AnyObject]?) -> NextLevelSessionClip {

    
    // MARK: - class functions
    
    public class func clipURL(withFilename filename: String, directory: NextLevelDirectoryType) -> URL {
        var clipURL: URL? = nil
    
        switch directory {

    }
    
    convenience init(dictionaryRep: [String : Any]?, directory: NextLevelDirectoryType) {
        if let clipDict = dictionaryRep,
           let filename = clipDict[NextLevelClipFilenameKey] as? String,
           let url: URL = NextLevelSessionClip.clipURL(withFilename: filename, directory: directory) {
            let infoDict = clipDict[NextLevelClipInfoDictKey] as? [String : Any]
            self.init(url: url, infoDict: infoDict)
        } else {
