     }
     let directory = Directory()
 
-    private let _queue = dispatch_queue_create("swift.imageloader.queues.diskcached", DISPATCH_QUEUE_SERIAL)
+    private let _set_queue = dispatch_queue_create("swift.imageloader.queues.diskcached.set", DISPATCH_QUEUE_SERIAL)
+    private let _subscript_queue = dispatch_queue_create("swift.imageloader.queues.diskcached.subscript", DISPATCH_QUEUE_CONCURRENT)
 }
 
 // MARK: accessor


extension Diskcached: ImageCache {

    private var _concurrent_queue: dispatch_queue_t {
        return dispatch_queue_create(nil, DISPATCH_QUEUE_CONCURRENT)
    }

    subscript (aKey: NSURL) -> UIImage? {

        get {
            var value : UIImage?
            dispatch_sync(_concurrent_queue) {
                value = self.objectForKey(aKey)
            }


        }

        set {
            dispatch_barrier_async(_subscript_queue) {
                self.setObject(newValue!, forKey: aKey)
            }
        }
