                         }
                     }
                 }
-            }
-
-
-            // Bsfs blocks
-            let blocksFileWrapper=FileWrapper(directoryWithFileWrappers: [:])
-            blocksFileWrapper.preferredFilename=self._blocksDirectoryWrapperName
-            fileWrapper.addFileWrapper(blocksFileWrapper)
+
+                // Bsfs blocks
+                if  fileWrappers[self._blocksDirectoryWrapperName] == nil{
+                    let blocksFileWrapper=FileWrapper(directoryWithFileWrappers: [:])
+                    blocksFileWrapper.preferredFilename=self._blocksDirectoryWrapperName
+                    fileWrapper.addFileWrapper(blocksFileWrapper)
+                }
+
+            }
 
         }
 

        let nonCryptedFileName=metadatum.collectionName + nonCryptedExtension
        return (notCrypted:nonCryptedFileName, crypted:cryptedFileName)
    }



}

    /// Removes a Block from the package
    ///
    /// - Parameters:
    ///   - digest: the identifier of the file (use UDID)
    ///   - isABlock: defines if the file must be considerate as a block (bsfs)
    public func removeBlock(with digest:String)throws->(){
        if let directoryFileWrapper:FileWrapper = self._blocksWrapper {
            if let w=directoryFileWrapper.fileWrappers?[digest]{
                Async.main{
                    directoryFileWrapper.removeFileWrapper(w)
                }
            }else{
                throw DocumentError.fileWrapperNotFound(message:"File Wrapper with digest \(digest)")
            }
        }else{
            throw DocumentError.fileWrapperNotFound(message: "Directory Wrapper not found )")
