         }
     }
     
-    func setImageWithUrl(url:NSURL, placeHolderImage:UIImage? = nil) {
+    public func setImageWithUrl(url:NSURL, placeHolderImage:UIImage? = nil) {
         let request:NSMutableURLRequest = NSMutableURLRequest(URL: url)
         request.addValue("image/*", forHTTPHeaderField: "Accept")
         self.setImageWithUrlRequest(request, placeHolderImage: placeHolderImage, success: nil, failure: nil)
     }
     
-    func setImageWithUrlRequest(request:NSURLRequest, placeHolderImage:UIImage? = nil,
+    public func setImageWithUrlRequest(request:NSURLRequest, placeHolderImage:UIImage? = nil,
         success:((request:NSURLRequest?, response:NSURLResponse?, image:UIImage) -> Void)?,
         failure:((request:NSURLRequest?, response:NSURLResponse?, error:NSError) -> Void)?)
     {

                Static.defaultImageCache!.removeAllObjects()
            }
        })
        return objc_getAssociatedObject(self, &AssociatedKeys.SharedImageCache) as? AFImageCache ?? Static.defaultImageCache!
    }
    
    class func af_sharedImageRequestOperationQueue() -> NSOperationQueue {
        struct Static {
            static var token:dispatch_once_t = 0
            static var queue:NSOperationQueue?

        static var URLRequestImage = "UrlRequestImage"
    }
    
    public class func setSharedImageCache(cache:AFImageCacheProtocol?) {
        objc_setAssociatedObject(self, &AssociatedKeys.SharedImageCache, cache, UInt(OBJC_ASSOCIATION_RETAIN))
    }
    
    public class func sharedImageCache() -> AFImageCacheProtocol {
        struct Static {
            static var token : dispatch_once_t = 0
            static var defaultImageCache:AFImageCache?
