     public var alamofireManager: Manager!
     public var timeoutInterval: NSTimeInterval = 30 {
         didSet {
-            let configuration = NSURLSessionConfiguration.defaultSessionConfiguration()
-            configuration.timeoutIntervalForRequest = self.timeoutInterval
-            self.alamofireManager = Alamofire.Manager(configuration: configuration)
+            alamofireManager = Alamofire.Manager(configuration: HttpRequest.configurationWithTimeoutInterval(timeoutInterval))
         }
     }
     

        return requestHeaders
    }
    
}

extension Request {
    
    public func timeout(queue queue: dispatch_queue_t? = nil, requestTimeoutHandler: (response: NSHTTPURLResponse?) -> Void) -> Self {
        delegate.queue.addOperationWithBlock {
            // TODO: need timeout logic here
            dispatch_async(queue ?? dispatch_get_main_queue()) {
                
//                requestTimeoutHandler()
            }
        }
        return self

        struct Singleton {
            static let instance = HttpRequest()
        }
        Singleton.instance.alamofireManager = Alamofire.Manager(configuration: HttpRequest.configurationWithTimeoutInterval(Singleton.instance.timeoutInterval))
        return Singleton.instance
    }
    
