 
 
     func loadData() {
-        let data = readData()
-        if data != nil {
-            AdBlockCppFilter.singleton().setAdblockDataFile(data)
-            return
-        }
-
-        func networkRequest() {
-            if (AdBlockCppFilter.singleton().hasAdblockDataFile()) {
+
+        func networkRequest(forceDownload force: Bool) {
+            if !force && AdBlockCppFilter.singleton().hasAdblockDataFile() {
                 return
             }
             let session = NSURLSession.sharedSession()

import Foundation
import Shared
private let _singleton = AdBlocker()

class AdBlocker {
    static let prefKeyAdBlockOn = "braveBlockAds"
    static let prefKeyAdBlockOnDefaultValue = true
    static let dataVersion = "0.3.1"
    let dataUrl = NSURL(string: "http://brave.github.io/adblock-data/\(dataVersion)/ABPFilterParserData.dat")!
    let dataFile = "abp-data-\(dataVersion).dat"

    // Store the last 500 URLs checked

        if !data.writeToFile(path, atomically: true) {
            showError("Failed to write data to \(path)")
        }

        if let etagData = etag?.dataUsingEncoding(NSUTF8StringEncoding) {
            let etagPath = etagFileNameFromDataFile(path)
            if !etagData.writeToFile(etagPath, atomically: true) {
                showError("Failed to write data to \(etagPath)")
            }
        }
    }

    func readData() -> NSData? {
