             ), dispatchQueue(), block)
         return self
     }
-    public func dispatchWithBarrier(block:() -> Void, wait:Bool = false) -> Queue {
+    public func dispatchWithBarrier(block:() -> Void) -> Queue {
+        dispatch_barrier_async(dispatchQueue(), block)
+        return self
+    }
+    public func dispatchWithBarrier(block:() -> Void, wait:Bool) -> Queue {
         let q = dispatchQueue()
         if wait == true {
             dispatch_barrier_sync(q, block) //TODO: prevent deadlock

        return self
    }


    //MARK: Others
    public func applyIteration(iteration:UInt, toBlock block:(i:UInt) -> ()) {
        dispatch_apply(iteration, dispatchQueue(),block);
        
    }

}


