         didSet { UserDefaults.standard.set(textColor, forKey: "Text Color") }
     }
     
+    init() {
+        // backgroundImage initially attempts to load from now removed user defaults storage
+        if backgroundImage == nil {
+            // load the background from disk if user defaults has no value
+            backgroundImage = readBackground()
+        } else {
+            // otherwise transition to storing backgroundImage as a file on disk
+            writeBackground()
+            UserDefaults.standard.removeObject(forKey: "Background Image")
+        }
+    }
+    
     func reset() {
         backgroundColor = .countdownBackground
         backgroundImage = nil

    var fontName: String {
        return fontFamily + "-" + fontWeight
    }
}

    var backgroundColor = UserDefaults.standard.color(forKey: "Background Color") ?? .countdownBackground {
        didSet { UserDefaults.standard.set(backgroundColor, forKey: "Background Color") }
    }
    var backgroundImage = UserDefaults.standard.image(forKey:"Background Image") {
        didSet { writeBackground() }
    }
    var fontFamily = UserDefaults.standard.string(forKey: "Font Family") ?? "AvenirNext" {
        didSet { UserDefaults.standard.set(fontFamily, forKey: "Font Family") }
