diff --git a/.github/workflows/docc.yml b/.github/workflows/docc.yml
index 71cc681f..5896c83b 100644
--- a/.github/workflows/docc.yml
+++ b/.github/workflows/docc.yml
@@ -13,7 +13,7 @@ concurrency:
 
 jobs:
   build:
-    runs-on: macos-13
+    runs-on: macos-latest
     steps:
       - name: Checkout Repository
         uses: actions/checkout@v4
@@ -21,7 +21,7 @@ jobs:
           fetch-depth: 0
       - uses: maxim-lobanov/setup-xcode@v1
         with:
-          xcode-version: latest
+          xcode-version: latest-stable
       - name: Setup Config file
         run: |
           cp Basic-Car-Maintenance.xcconfig.template Basic-Car-Maintenance.xcconfig
diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml
index 3adf497b..adfcf4fe 100644
--- a/.github/workflows/unit-tests.yml
+++ b/.github/workflows/unit-tests.yml
@@ -30,12 +30,18 @@ jobs:
       uses: maxim-lobanov/setup-xcode@v1
       with:
         xcode-version: latest-stable
+
+    - name: Install packages
+      run: xcodebuild -resolvePackageDependencies
+
+    - name: Enable Build Tools
+      run: cp fastlane/enable-build-tool-plugins.json ~/Library/org.swift.swiftpm/security/plugins.json
     
-    - name: Update dependencies
+    - name: Install dependencies
       run: bundle install
 
     - name: Install build log formatter
       run: brew install xcbeautify
       
     - name: Run Unit Tests
-      run: bundle exec fastlane unit_tests
+      run: FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT=60 bundle exec fastlane unit_tests
diff --git a/.swiftlint.yml b/.swiftlint.yml
index 8ff29ad8..f9e43d30 100644
--- a/.swiftlint.yml
+++ b/.swiftlint.yml
@@ -4,16 +4,54 @@ disabled_rules: # rule identifiers turned on by default to exclude from running
   - empty_parentheses_with_trailing_closure
 opt_in_rules: # some rules are turned off by default, so you need to opt-in
   - closure_parameter_position
-  - closing_brace
-  - comma
+  - closure_spacing
+  - collection_alignment
   - colon
+  - comma
+  - compiler_protocol_init
+  - contains_over_filter_count
+  - contains_over_filter_is_empty
+  - contains_over_first_not_nil
+  - contains_over_range_nil_comparison
+  - control_statement
+  - convenience_type
   - cyclomatic_complexity
   - duplicate_imports
+  - dynamic_inline
   - empty_collection_literal
   - empty_count
+  - empty_enum_arguments
+  - empty_parameters
+  - empty_parentheses_with_trailing_closure
+  - empty_xctest_method
+  - explicit_init
   - for_where
   - force_try
+  - leading_whitespace
+  - local_doc_comment
+  - lower_acl_than_parent
+  - nslocalizedstring_key
+  - opening_brace
+  - operator_usage_whitespace
+  - operator_whitespace
+  - overridden_super_call
+  - period_spacing
   - private_over_fileprivate
+  - private_swiftui_state
+  - syntactic_sugar
+  - test_case_accessibility
+  - trailing_comma
+  - trailing_newline
+  - trailing_semicolon
+  - unavailable_function
+  - unused_closure_parameter
+  - unused_control_flow_label
+  - unused_enumerated
+  - unused_optional_binding
+  - unused_setter_value
+  - weak_delegate
+  - xctfail_message
+  - yoda_condition
 
 # Alternatively, specify all rules explicitly by uncommenting this option:
 # only_rules: # delete `disabled_rules` & `opt_in_rules` if using this
diff --git a/Basic-Car-Maintenance-Tests/Shared/Models/ContributorTests.swift b/Basic-Car-Maintenance-Tests/Shared/Models/ContributorTests.swift
index 0154751e..80ca1a25 100644
--- a/Basic-Car-Maintenance-Tests/Shared/Models/ContributorTests.swift
+++ b/Basic-Car-Maintenance-Tests/Shared/Models/ContributorTests.swift
@@ -2,66 +2,69 @@
 //  ContributorTests.swift
 //  Basic-Car-Maintenance-Tests
 //
-//  Created by Drag0ndust on 07.10.23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
-import XCTest
+import Foundation
+import Testing
 @testable import Basic_Car_Maintenance
 
-final class ContributorTests: XCTestCase {
-    private var jsonDecoder: JSONDecoder!
-    private var jsonEncoder: JSONEncoder!
-    private let testContributorJson = """
-{
-    "login": "Drag0ndust",
-    "id": 12915108,
-    "node_id": "MDQ6VXNlcjEyOTE1MTA4",
-    "avatar_url": "https://avatars.githubusercontent.com/u/12915108?v=4",
-    "url": "https://api.github.com/users/Drag0ndust",
-    "html_url": "https://github.com/Drag0ndust",
-    "contributions": 0
-}
-"""
-
-    override func setUpWithError() throws {
-        jsonDecoder = JSONDecoder()
+struct ContributorTests {
+    private let jsonDecoder = {
+        let jsonDecoder = JSONDecoder()
         jsonDecoder.keyDecodingStrategy = .convertFromSnakeCase
-
-        jsonEncoder = JSONEncoder()
+        return jsonDecoder
+    }()
+    
+    private let jsonEncoder = {
+        let jsonEncoder = JSONEncoder()
         jsonEncoder.keyEncodingStrategy = .convertToSnakeCase
+        return jsonEncoder
+    }()
+    
+    @Test()
+    func contributorDecoding() throws {
+        let testContributorJson = """
+    {
+        "login": "Drag0ndust",
+        "id": 12915108,
+        "node_id": "MDQ6VXNlcjEyOTE1MTA4",
+        "avatar_url": "https://avatars.githubusercontent.com/u/12915108?v=4",
+        "url": "https://api.github.com/users/Drag0ndust",
+        "html_url": "https://github.com/Drag0ndust",
+        "contributions": 0
     }
-
-    func testContributorDecoding() throws {
-        guard let data = testContributorJson.data(using: .utf8) else {
-            XCTFail("Can't decode JSON string")
-            return
-        }
-
+"""
+        let data = try #require(testContributorJson.data(using: .utf8))
         let sut = try jsonDecoder.decode(Contributor.self, from: data)
-
-        XCTAssertEqual(sut.login, "Drag0ndust")
-        XCTAssertEqual(sut.id, 12915108)
-        XCTAssertEqual(sut.nodeID, "MDQ6VXNlcjEyOTE1MTA4")
-        XCTAssertEqual(sut.avatarURL, "https://avatars.githubusercontent.com/u/12915108?v=4")
-        XCTAssertEqual(sut.url, "https://api.github.com/users/Drag0ndust")
-        XCTAssertEqual(sut.htmlURL, "https://github.com/Drag0ndust")
-        XCTAssertEqual(sut.contributions, 0)
+        
+        #expect(sut.login == "Drag0ndust")
+        #expect(sut.id == 12915108)
+        #expect(sut.nodeID == "MDQ6VXNlcjEyOTE1MTA4")
+        #expect(sut.avatarURL == "https://avatars.githubusercontent.com/u/12915108?v=4")
+        #expect(sut.url == "https://api.github.com/users/Drag0ndust")
+        #expect(sut.htmlURL == "https://github.com/Drag0ndust")
+        #expect(sut.contributions == 0)
     }
     
-    func testContributorEncoding() throws {
-        let contributor = Contributor(login: "Drag0ndust",
-                                      id: 12915108,
-                                      nodeID: "MDQ6VXNlcjEyOTE1MTA4",
-                                      avatarURL: "https://avatars.githubusercontent.com/u/12915108?v=4",
-                                      url: "https://api.github.com/users/Drag0ndust",
-                                      htmlURL: "https://github.com/Drag0ndust",
-                                      contributions: 0)
+    @Test()
+    func contributorEncoding() throws {
+        let contributor = Contributor(
+            login: "Drag0ndust",
+            id: 12915108,
+            nodeID: "MDQ6VXNlcjEyOTE1MTA4",
+            avatarURL: "https://avatars.githubusercontent.com/u/12915108?v=4",
+            url: "https://api.github.com/users/Drag0ndust",
+            htmlURL: "https://github.com/Drag0ndust",
+            contributions: 0
+        )
         
         let contributorData = try jsonEncoder.encode(contributor)
         
-       // now decode it again and check if the objects are equal
+        // now decode it again and check if the objects are equal
         let decodedContributor = try jsonDecoder.decode(Contributor.self, from: contributorData)
         
-        XCTAssertEqual(contributor, decodedContributor)
+        #expect(contributor == decodedContributor)
     }
 }
diff --git a/Basic-Car-Maintenance-UITests/BasicCarMaintenanceUITests.swift b/Basic-Car-Maintenance-UITests/BasicCarMaintenanceUITests.swift
index a13045b2..49045609 100644
--- a/Basic-Car-Maintenance-UITests/BasicCarMaintenanceUITests.swift
+++ b/Basic-Car-Maintenance-UITests/BasicCarMaintenanceUITests.swift
@@ -2,14 +2,15 @@
 //  Basic_Car_Maintenance-UITests.swift
 //  Basic-Car-Maintenance-UITests
 //
-//  Created by Mikaela Caron on 8/11/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import XCTest
 
 final class BasicCarMaintenanceUITests: XCTestCase {
     
-    let app = XCUIApplication()
+    private let app = XCUIApplication()
     
     override func setUp() {
         continueAfterFailure = false
diff --git a/Basic-Car-Maintenance-Widget/AppIntent.swift b/Basic-Car-Maintenance-Widget/AppIntent.swift
index 9d47fbde..1b9ea0fb 100644
--- a/Basic-Car-Maintenance-Widget/AppIntent.swift
+++ b/Basic-Car-Maintenance-Widget/AppIntent.swift
@@ -2,7 +2,8 @@
 //  AppIntent.swift
 //  Basic-Car-Maintenance-Widget
 //
-//  Created by Mikaela Caron on 10/4/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import WidgetKit
diff --git a/Basic-Car-Maintenance-Widget/BasicCarMaintenanceWidget.swift b/Basic-Car-Maintenance-Widget/BasicCarMaintenanceWidget.swift
index 0f4c2e3e..5b638828 100644
--- a/Basic-Car-Maintenance-Widget/BasicCarMaintenanceWidget.swift
+++ b/Basic-Car-Maintenance-Widget/BasicCarMaintenanceWidget.swift
@@ -2,7 +2,8 @@
 //  Basic-Car-Maintenance-Widget.swift
 //  Basic-Car-Maintenance-Widget
 //
-//  Created by Mikaela Caron on 10/4/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import WidgetKit
diff --git a/Basic-Car-Maintenance-Widget/BasicCarMaintenanceWidgetBundle.swift b/Basic-Car-Maintenance-Widget/BasicCarMaintenanceWidgetBundle.swift
index 38449de7..650c54ac 100644
--- a/Basic-Car-Maintenance-Widget/BasicCarMaintenanceWidgetBundle.swift
+++ b/Basic-Car-Maintenance-Widget/BasicCarMaintenanceWidgetBundle.swift
@@ -2,7 +2,8 @@
 //  BasicCarMaintenanceWidgetBundle.swift
 //  Basic-Car-Maintenance-Widget
 //
-//  Created by Mikaela Caron on 10/4/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import WidgetKit
diff --git a/Basic-Car-Maintenance.xcodeproj/project.pbxproj b/Basic-Car-Maintenance.xcodeproj/project.pbxproj
index 68a2dd8d..4a4be555 100644
--- a/Basic-Car-Maintenance.xcodeproj/project.pbxproj
+++ b/Basic-Car-Maintenance.xcodeproj/project.pbxproj
@@ -3,56 +3,14 @@
 	archiveVersion = 1;
 	classes = {
 	};
-	objectVersion = 56;
+	objectVersion = 71;
 	objects = {
 
 /* Begin PBXBuildFile section */
-		023057F22ACFAD79006C5A73 /* EditEventDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 023057F12ACFAD79006C5A73 /* EditEventDetailView.swift */; };
-		0CA7ED092AE82BF100609019 /* ContributionTip.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CA7ED082AE82BF100609019 /* ContributionTip.swift */; };
-		154984AA2AD9CAEE0015594C /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 154984A92AD9CAEE0015594C /* Constants.swift */; };
-		57CDD99E2ADC3173002EFED0 /* OdometerViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57CDD99D2ADC3173002EFED0 /* OdometerViewModel.swift */; };
-		57CDD9A02ADC31A8002EFED0 /* AddOdometerReadingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57CDD99F2ADC31A8002EFED0 /* AddOdometerReadingView.swift */; };
-		57CDD9A42ADC320F002EFED0 /* OdometerReading.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57CDD9A32ADC320F002EFED0 /* OdometerReading.swift */; };
-		637505482AEFFBAC00AA5D0B /* FirebaseAnalytics+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 637505472AEFFBAC00AA5D0B /* FirebaseAnalytics+Extension.swift */; };
-		8014A4CF2AD75928005B51F6 /* AppIcon.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8014A4CE2AD75928005B51F6 /* AppIcon.swift */; };
-		8014A4D12AD76034005B51F6 /* ChooseAppIconView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8014A4D02AD76034005B51F6 /* ChooseAppIconView.swift */; };
-		8014A4D32AD77C92005B51F6 /* ChooseAppIconViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8014A4D22AD77C92005B51F6 /* ChooseAppIconViewModel.swift */; };
-		898009792AD1899700604E7C /* ContributorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 898009782AD1899700604E7C /* ContributorTests.swift */; };
-		8A3D74862AD6D9A10000FEEB /* AlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A3D74852AD6D9A10000FEEB /* AlertView.swift */; };
-		8A3D748A2AD9C3E00000FEEB /* MainTabViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A3D74892AD9C3E00000FEEB /* MainTabViewModel.swift */; };
-		8A3D748C2AD9C41D0000FEEB /* AlertItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A3D748B2AD9C41D0000FEEB /* AlertItem.swift */; };
-		8AEE816F2ACF37F800FC0C2A /* Action.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8AEE816E2ACF37F800FC0C2A /* Action.swift */; };
-		8AEE81722ACF384D00FC0C2A /* MainTabView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8AEE81712ACF384D00FC0C2A /* MainTabView.swift */; };
-		E4345E622B4CDA7B0086D04B /* WelcomeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4345E612B4CDA7B0086D04B /* WelcomeView.swift */; };
-		E4345E642B4CE0500086D04B /* WelcomeViewAddVehicle.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4345E632B4CE0500086D04B /* WelcomeViewAddVehicle.swift */; };
-		E55B630D2B079E5A006BDDDF /* EditVehicleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E55B630C2B079E5A006BDDDF /* EditVehicleView.swift */; };
-		E58499662ACDDA8B00634660 /* ContributorsListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E58499652ACDDA8B00634660 /* ContributorsListView.swift */; };
-		E58499682ACDDA9A00634660 /* ContributorsProfileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E58499672ACDDA9A00634660 /* ContributorsProfileView.swift */; };
-		E584996A2ACDDAFF00634660 /* Contributor.swift in Sources */ = {isa = PBXBuildFile; fileRef = E58499692ACDDAFF00634660 /* Contributor.swift */; };
-		FF09FC912AB6FF44006BE61A /* AuthenticationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF09FC902AB6FF44006BE61A /* AuthenticationView.swift */; };
 		FF153AFF2B07C3E000D0BA30 /* FirebaseCrashlytics in Frameworks */ = {isa = PBXBuildFile; productRef = FF153AFE2B07C3E000D0BA30 /* FirebaseCrashlytics */; };
-		FF218EF62B00865F0025A533 /* AnalyticsService.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF218EF52B00865F0025A533 /* AnalyticsService.swift */; };
-		FF3DDF522AA4D28F009D91C4 /* DashboardViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF3DDF512AA4D28F009D91C4 /* DashboardViewModel.swift */; };
 		FF4E82BE2AD39863004949AF /* FirebaseRemoteConfig in Frameworks */ = {isa = PBXBuildFile; productRef = FF4E82BD2AD39863004949AF /* FirebaseRemoteConfig */; };
 		FF4E82C02AD39863004949AF /* FirebaseRemoteConfigSwift in Frameworks */ = {isa = PBXBuildFile; productRef = FF4E82BF2AD39863004949AF /* FirebaseRemoteConfigSwift */; };
 		FF4E82C22AD39863004949AF /* FirebaseStorage in Frameworks */ = {isa = PBXBuildFile; productRef = FF4E82C12AD39863004949AF /* FirebaseStorage */; };
-		FF50DDFB2B12944900E87362 /* EditOdometerReadingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF50DDFA2B12944900E87362 /* EditOdometerReadingView.swift */; };
-		FF5D13A72A86C2D600BC9BD6 /* BasicCarMaintenanceApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF5D13A62A86C2D600BC9BD6 /* BasicCarMaintenanceApp.swift */; };
-		FF5D13AB2A86C2D800BC9BD6 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = FF5D13AA2A86C2D800BC9BD6 /* Assets.xcassets */; };
-		FF5D13AF2A86C2D800BC9BD6 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = FF5D13AE2A86C2D800BC9BD6 /* Preview Assets.xcassets */; };
-		FF5D13C32A86C2D800BC9BD6 /* BasicCarMaintenanceUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF5D13C22A86C2D800BC9BD6 /* BasicCarMaintenanceUITests.swift */; };
-		FF748B5E2AB3589C004748A5 /* AuthenticationViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF748B5D2AB3589C004748A5 /* AuthenticationViewModel.swift */; };
-		FF755B3C2A908E3E00F49A13 /* DashboardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF755B3B2A908E3E00F49A13 /* DashboardView.swift */; };
-		FF755B3E2A908E7A00F49A13 /* SettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF755B3D2A908E7A00F49A13 /* SettingsView.swift */; };
-		FF755B432A90915E00F49A13 /* Localizable.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = FF755B422A90915E00F49A13 /* Localizable.xcstrings */; };
-		FF755B462A90969D00F49A13 /* Bundle+extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF755B452A90969D00F49A13 /* Bundle+extension.swift */; };
-		FF755B492A909A0000F49A13 /* AddMaintenanceView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF755B482A909A0000F49A13 /* AddMaintenanceView.swift */; };
-		FFAA56ED2AC8905C000120EE /* Documentation.docc in Sources */ = {isa = PBXBuildFile; fileRef = FFAA56EC2AC8905C000120EE /* Documentation.docc */; };
-		FFBFE0912A98EFEC000A9BEB /* MaintenanceEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFBFE0902A98EFEC000A9BEB /* MaintenanceEvent.swift */; };
-		FFBFE0932A98F212000A9BEB /* Vehicle.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFBFE0922A98F212000A9BEB /* Vehicle.swift */; };
-		FFBFE0972A98F7CB000A9BEB /* AddVehicleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFBFE0962A98F7CB000A9BEB /* AddVehicleView.swift */; };
-		FFC67D1D2AAEF7920073B338 /* SettingsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFC67D1C2AAEF7920073B338 /* SettingsViewModel.swift */; };
-		FFC8CDA42AA385E800D129A6 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = FFC8CDA32AA385E800D129A6 /* GoogleService-Info.plist */; };
 		FFC8CDA72AA3867A00D129A6 /* FirebaseAnalytics in Frameworks */ = {isa = PBXBuildFile; productRef = FFC8CDA62AA3867A00D129A6 /* FirebaseAnalytics */; };
 		FFC8CDA92AA3867A00D129A6 /* FirebaseAnalyticsSwift in Frameworks */ = {isa = PBXBuildFile; productRef = FFC8CDA82AA3867A00D129A6 /* FirebaseAnalyticsSwift */; };
 		FFC8CDAB2AA3867A00D129A6 /* FirebaseAuth in Frameworks */ = {isa = PBXBuildFile; productRef = FFC8CDAA2AA3867A00D129A6 /* FirebaseAuth */; };
@@ -61,12 +19,7 @@
 		FFC8CDB32AA4226900D129A6 /* AdSupport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FFC8CDB22AA4226900D129A6 /* AdSupport.framework */; };
 		FFDADF7F2ACD35A100DDEF79 /* WidgetKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FFDADF7E2ACD35A100DDEF79 /* WidgetKit.framework */; };
 		FFDADF812ACD35A100DDEF79 /* SwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FFDADF802ACD35A100DDEF79 /* SwiftUI.framework */; };
-		FFDADF842ACD35A100DDEF79 /* BasicCarMaintenanceWidgetBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFDADF832ACD35A100DDEF79 /* BasicCarMaintenanceWidgetBundle.swift */; };
-		FFDADF862ACD35A100DDEF79 /* BasicCarMaintenanceWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFDADF852ACD35A100DDEF79 /* BasicCarMaintenanceWidget.swift */; };
-		FFDADF882ACD35A100DDEF79 /* AppIntent.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFDADF872ACD35A100DDEF79 /* AppIntent.swift */; };
-		FFDADF8A2ACD35A200DDEF79 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = FFDADF892ACD35A200DDEF79 /* Assets.xcassets */; };
 		FFDADF8E2ACD35A200DDEF79 /* Basic-Car-Maintenance-WidgetExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = FFDADF7D2ACD35A100DDEF79 /* Basic-Car-Maintenance-WidgetExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
-		FFE0AF562AD66C3500AB46F8 /* OdometerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFE0AF552AD66C3500AB46F8 /* OdometerView.swift */; };
 /* End PBXBuildFile section */
 
 /* Begin PBXContainerItemProxy section */
@@ -108,72 +61,43 @@
 /* End PBXCopyFilesBuildPhase section */
 
 /* Begin PBXFileReference section */
-		023057F12ACFAD79006C5A73 /* EditEventDetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditEventDetailView.swift; sourceTree = "<group>"; };
-		0CA7ED082AE82BF100609019 /* ContributionTip.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContributionTip.swift; sourceTree = "<group>"; };
-		154984A92AD9CAEE0015594C /* Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = "<group>"; };
-		57CDD99D2ADC3173002EFED0 /* OdometerViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OdometerViewModel.swift; sourceTree = "<group>"; };
-		57CDD99F2ADC31A8002EFED0 /* AddOdometerReadingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddOdometerReadingView.swift; sourceTree = "<group>"; };
-		57CDD9A32ADC320F002EFED0 /* OdometerReading.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OdometerReading.swift; sourceTree = "<group>"; };
-		637505472AEFFBAC00AA5D0B /* FirebaseAnalytics+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FirebaseAnalytics+Extension.swift"; sourceTree = "<group>"; };
-		8014A4CE2AD75928005B51F6 /* AppIcon.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppIcon.swift; sourceTree = "<group>"; };
-		8014A4D02AD76034005B51F6 /* ChooseAppIconView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChooseAppIconView.swift; sourceTree = "<group>"; };
-		8014A4D22AD77C92005B51F6 /* ChooseAppIconViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChooseAppIconViewModel.swift; sourceTree = "<group>"; };
-		898009782AD1899700604E7C /* ContributorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContributorTests.swift; sourceTree = "<group>"; };
-		8A3D74852AD6D9A10000FEEB /* AlertView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlertView.swift; sourceTree = "<group>"; };
-		8A3D74892AD9C3E00000FEEB /* MainTabViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainTabViewModel.swift; sourceTree = "<group>"; };
-		8A3D748B2AD9C41D0000FEEB /* AlertItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlertItem.swift; sourceTree = "<group>"; };
-		8AEE816E2ACF37F800FC0C2A /* Action.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Action.swift; sourceTree = "<group>"; };
-		8AEE81712ACF384D00FC0C2A /* MainTabView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainTabView.swift; sourceTree = "<group>"; };
-		8AEE81732ACF394E00FC0C2A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
-		E4345E612B4CDA7B0086D04B /* WelcomeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WelcomeView.swift; sourceTree = "<group>"; };
-		E4345E632B4CE0500086D04B /* WelcomeViewAddVehicle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WelcomeViewAddVehicle.swift; sourceTree = "<group>"; };
-		E55B630C2B079E5A006BDDDF /* EditVehicleView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditVehicleView.swift; sourceTree = "<group>"; };
-		E58499652ACDDA8B00634660 /* ContributorsListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContributorsListView.swift; sourceTree = "<group>"; };
-		E58499672ACDDA9A00634660 /* ContributorsProfileView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContributorsProfileView.swift; sourceTree = "<group>"; };
-		E58499692ACDDAFF00634660 /* Contributor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Contributor.swift; sourceTree = "<group>"; };
-		FF0813562AD0A83000910EFA /* UITests.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = UITests.xcconfig; sourceTree = "<group>"; };
-		FF0813572AD0A92700910EFA /* Widget.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Widget.xcconfig; sourceTree = "<group>"; };
 		FF098EFA2AB3424E003EC0FE /* Basic-Car-Maintenance.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Basic-Car-Maintenance.xcconfig"; sourceTree = SOURCE_ROOT; };
-		FF09FC902AB6FF44006BE61A /* AuthenticationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthenticationView.swift; sourceTree = "<group>"; };
-		FF218EF52B00865F0025A533 /* AnalyticsService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnalyticsService.swift; sourceTree = "<group>"; };
-		FF3DDF512AA4D28F009D91C4 /* DashboardViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DashboardViewModel.swift; sourceTree = "<group>"; };
-		FF50DDFA2B12944900E87362 /* EditOdometerReadingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditOdometerReadingView.swift; sourceTree = "<group>"; };
 		FF5D13A32A86C2D600BC9BD6 /* Basic-Car-Maintenance.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Basic-Car-Maintenance.app"; sourceTree = BUILT_PRODUCTS_DIR; };
-		FF5D13A62A86C2D600BC9BD6 /* BasicCarMaintenanceApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BasicCarMaintenanceApp.swift; sourceTree = "<group>"; };
-		FF5D13AA2A86C2D800BC9BD6 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
-		FF5D13AC2A86C2D800BC9BD6 /* Basic_Car_Maintenance.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Basic_Car_Maintenance.entitlements; sourceTree = "<group>"; };
-		FF5D13AE2A86C2D800BC9BD6 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; };
 		FF5D13B42A86C2D800BC9BD6 /* Basic-Car-Maintenance-Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Basic-Car-Maintenance-Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
 		FF5D13BE2A86C2D800BC9BD6 /* Basic-Car-Maintenance-UITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Basic-Car-Maintenance-UITests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
-		FF5D13C22A86C2D800BC9BD6 /* BasicCarMaintenanceUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BasicCarMaintenanceUITests.swift; sourceTree = "<group>"; };
-		FF748B5D2AB3589C004748A5 /* AuthenticationViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthenticationViewModel.swift; sourceTree = "<group>"; };
-		FF755B3B2A908E3E00F49A13 /* DashboardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DashboardView.swift; sourceTree = "<group>"; };
-		FF755B3D2A908E7A00F49A13 /* SettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = "<group>"; };
-		FF755B422A90915E00F49A13 /* Localizable.xcstrings */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; path = Localizable.xcstrings; sourceTree = "<group>"; };
-		FF755B452A90969D00F49A13 /* Bundle+extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Bundle+extension.swift"; sourceTree = "<group>"; };
-		FF755B482A909A0000F49A13 /* AddMaintenanceView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddMaintenanceView.swift; sourceTree = "<group>"; };
 		FFA392762C54738E00A0AD6D /* Basic-Car-Maintenance.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = "Basic-Car-Maintenance.xctestplan"; sourceTree = "<group>"; };
-		FFA392772C547CA300A0AD6D /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
-		FFAA56EC2AC8905C000120EE /* Documentation.docc */ = {isa = PBXFileReference; lastKnownFileType = folder.documentationcatalog; path = Documentation.docc; sourceTree = "<group>"; };
-		FFBE79BB2AD0A57D0005524E /* UnitTests.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = UnitTests.xcconfig; sourceTree = "<group>"; };
-		FFBFE0902A98EFEC000A9BEB /* MaintenanceEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MaintenanceEvent.swift; sourceTree = "<group>"; };
-		FFBFE0922A98F212000A9BEB /* Vehicle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Vehicle.swift; sourceTree = "<group>"; };
-		FFBFE0962A98F7CB000A9BEB /* AddVehicleView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddVehicleView.swift; sourceTree = "<group>"; };
-		FFC67D1C2AAEF7920073B338 /* SettingsViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsViewModel.swift; sourceTree = "<group>"; };
-		FFC8CDA32AA385E800D129A6 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = "<group>"; };
 		FFC8CDB22AA4226900D129A6 /* AdSupport.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AdSupport.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.0.sdk/System/Library/Frameworks/AdSupport.framework; sourceTree = DEVELOPER_DIR; };
-		FFDADF5D2ACCE9AB00DDEF79 /* Project.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Project.xcconfig; sourceTree = "<group>"; };
 		FFDADF7D2ACD35A100DDEF79 /* Basic-Car-Maintenance-WidgetExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = "Basic-Car-Maintenance-WidgetExtension.appex"; sourceTree = BUILT_PRODUCTS_DIR; };
 		FFDADF7E2ACD35A100DDEF79 /* WidgetKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WidgetKit.framework; path = System/Library/Frameworks/WidgetKit.framework; sourceTree = SDKROOT; };
 		FFDADF802ACD35A100DDEF79 /* SwiftUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SwiftUI.framework; path = System/Library/Frameworks/SwiftUI.framework; sourceTree = SDKROOT; };
-		FFDADF832ACD35A100DDEF79 /* BasicCarMaintenanceWidgetBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BasicCarMaintenanceWidgetBundle.swift; sourceTree = "<group>"; };
-		FFDADF852ACD35A100DDEF79 /* BasicCarMaintenanceWidget.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BasicCarMaintenanceWidget.swift; sourceTree = "<group>"; };
-		FFDADF872ACD35A100DDEF79 /* AppIntent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppIntent.swift; sourceTree = "<group>"; };
-		FFDADF892ACD35A200DDEF79 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
-		FFDADF8B2ACD35A200DDEF79 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
-		FFE0AF552AD66C3500AB46F8 /* OdometerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OdometerView.swift; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
+/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */
+		FF52DEBC2CADE9EF0023F8DE /* PBXFileSystemSynchronizedBuildFileExceptionSet */ = {
+			isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
+			membershipExceptions = (
+				Shared/Info.plist,
+				Shared/PrivacyInfo.xcprivacy,
+			);
+			target = FF5D13A22A86C2D600BC9BD6 /* Basic-Car-Maintenance */;
+		};
+		FF52DEC82CADEA000023F8DE /* PBXFileSystemSynchronizedBuildFileExceptionSet */ = {
+			isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
+			membershipExceptions = (
+				Info.plist,
+			);
+			target = FFDADF7C2ACD35A100DDEF79 /* Basic-Car-Maintenance-WidgetExtension */;
+		};
+/* End PBXFileSystemSynchronizedBuildFileExceptionSet section */
+
+/* Begin PBXFileSystemSynchronizedRootGroup section */
+		FF52DE902CADE9EF0023F8DE /* Basic-Car-Maintenance */ = {isa = PBXFileSystemSynchronizedRootGroup; exceptions = (FF52DEBC2CADE9EF0023F8DE /* PBXFileSystemSynchronizedBuildFileExceptionSet */, ); explicitFileTypes = {}; explicitFolders = (); path = "Basic-Car-Maintenance"; sourceTree = "<group>"; };
+		FF52DEC22CADEA000023F8DE /* Basic-Car-Maintenance-Widget */ = {isa = PBXFileSystemSynchronizedRootGroup; exceptions = (FF52DEC82CADEA000023F8DE /* PBXFileSystemSynchronizedBuildFileExceptionSet */, ); explicitFileTypes = {}; explicitFolders = (); path = "Basic-Car-Maintenance-Widget"; sourceTree = "<group>"; };
+		FF52DECC2CADEA030023F8DE /* Basic-Car-Maintenance-Tests */ = {isa = PBXFileSystemSynchronizedRootGroup; explicitFileTypes = {}; explicitFolders = (); path = "Basic-Car-Maintenance-Tests"; sourceTree = "<group>"; };
+		FF52DECF2CADEA060023F8DE /* Basic-Car-Maintenance-UITests */ = {isa = PBXFileSystemSynchronizedRootGroup; explicitFileTypes = {}; explicitFolders = (); path = "Basic-Car-Maintenance-UITests"; sourceTree = "<group>"; };
+		FF52DED52CADEA150023F8DE /* Configurations */ = {isa = PBXFileSystemSynchronizedRootGroup; explicitFileTypes = {}; explicitFolders = (); path = Configurations; sourceTree = "<group>"; };
+/* End PBXFileSystemSynchronizedRootGroup section */
+
 /* Begin PBXFrameworksBuildPhase section */
 		FF5D13A02A86C2D600BC9BD6 /* Frameworks */ = {
 			isa = PBXFrameworksBuildPhase;
@@ -218,119 +142,16 @@
 /* End PBXFrameworksBuildPhase section */
 
 /* Begin PBXGroup section */
-		0CA7ED072AE82BD100609019 /* Tips */ = {
-			isa = PBXGroup;
-			children = (
-				0CA7ED082AE82BF100609019 /* ContributionTip.swift */,
-			);
-			path = Tips;
-			sourceTree = "<group>";
-		};
-		57CDD99B2ADC3150002EFED0 /* Views */ = {
-			isa = PBXGroup;
-			children = (
-				FFE0AF552AD66C3500AB46F8 /* OdometerView.swift */,
-				57CDD99F2ADC31A8002EFED0 /* AddOdometerReadingView.swift */,
-				FF50DDFA2B12944900E87362 /* EditOdometerReadingView.swift */,
-			);
-			path = Views;
-			sourceTree = "<group>";
-		};
-		57CDD99C2ADC3159002EFED0 /* ViewModels */ = {
-			isa = PBXGroup;
-			children = (
-				57CDD99D2ADC3173002EFED0 /* OdometerViewModel.swift */,
-			);
-			path = ViewModels;
-			sourceTree = "<group>";
-		};
-		898009762AD1897B00604E7C /* Shared */ = {
-			isa = PBXGroup;
-			children = (
-				898009772AD1897F00604E7C /* Models */,
-			);
-			path = Shared;
-			sourceTree = "<group>";
-		};
-		898009772AD1897F00604E7C /* Models */ = {
-			isa = PBXGroup;
-			children = (
-				898009782AD1899700604E7C /* ContributorTests.swift */,
-			);
-			path = Models;
-			sourceTree = "<group>";
-		};
-		8A3D74832AD6D9870000FEEB /* MainView */ = {
-			isa = PBXGroup;
-			children = (
-				8A3D74842AD6D9920000FEEB /* Views */,
-				8A3D74882AD9C3B10000FEEB /* ViewModels */,
-			);
-			path = MainView;
-			sourceTree = "<group>";
-		};
-		8A3D74842AD6D9920000FEEB /* Views */ = {
-			isa = PBXGroup;
-			children = (
-				8AEE81712ACF384D00FC0C2A /* MainTabView.swift */,
-				8A3D74852AD6D9A10000FEEB /* AlertView.swift */,
-			);
-			path = Views;
-			sourceTree = "<group>";
-		};
-		8A3D74882AD9C3B10000FEEB /* ViewModels */ = {
-			isa = PBXGroup;
-			children = (
-				8A3D74892AD9C3E00000FEEB /* MainTabViewModel.swift */,
-			);
-			path = ViewModels;
-			sourceTree = "<group>";
-		};
-		E4345E602B4CDA4F0086D04B /* Onboarding */ = {
-			isa = PBXGroup;
-			children = (
-				E474A3A12B5953A40015DF51 /* Views */,
-			);
-			path = Onboarding;
-			sourceTree = "<group>";
-		};
-		E474A3A12B5953A40015DF51 /* Views */ = {
-			isa = PBXGroup;
-			children = (
-				E4345E612B4CDA7B0086D04B /* WelcomeView.swift */,
-				E4345E632B4CE0500086D04B /* WelcomeViewAddVehicle.swift */,
-			);
-			path = Views;
-			sourceTree = "<group>";
-		};
-		FF3DDF492AA4386C009D91C4 /* Views */ = {
-			isa = PBXGroup;
-			children = (
-				FF755B3B2A908E3E00F49A13 /* DashboardView.swift */,
-				FF755B482A909A0000F49A13 /* AddMaintenanceView.swift */,
-				023057F12ACFAD79006C5A73 /* EditEventDetailView.swift */,
-			);
-			path = Views;
-			sourceTree = "<group>";
-		};
-		FF3DDF502AA4D282009D91C4 /* ViewModels */ = {
-			isa = PBXGroup;
-			children = (
-				FF3DDF512AA4D28F009D91C4 /* DashboardViewModel.swift */,
-			);
-			path = ViewModels;
-			sourceTree = "<group>";
-		};
 		FF5D139A2A86C2D500BC9BD6 = {
 			isa = PBXGroup;
 			children = (
 				FFA392762C54738E00A0AD6D /* Basic-Car-Maintenance.xctestplan */,
-				FFBE79BA2AD0A48C0005524E /* Configurations */,
+				FF52DED52CADEA150023F8DE /* Configurations */,
 				FF098EFA2AB3424E003EC0FE /* Basic-Car-Maintenance.xcconfig */,
-				FF5D13A52A86C2D600BC9BD6 /* Basic-Car-Maintenance */,
-				FFDADF822ACD35A100DDEF79 /* Basic-Car-Maintenance-Widget */,
-				FF5D13B72A86C2D800BC9BD6 /* Basic-Car-Maintenance-Tests */,
-				FF5D13C12A86C2D800BC9BD6 /* Basic-Car-Maintenance-UITests */,
+				FF52DE902CADE9EF0023F8DE /* Basic-Car-Maintenance */,
+				FF52DEC22CADEA000023F8DE /* Basic-Car-Maintenance-Widget */,
+				FF52DECC2CADEA030023F8DE /* Basic-Car-Maintenance-Tests */,
+				FF52DECF2CADEA060023F8DE /* Basic-Car-Maintenance-UITests */,
 				FF5D13A42A86C2D600BC9BD6 /* Products */,
 				FFC8CDB12AA4226900D129A6 /* Frameworks */,
 			);
@@ -347,140 +168,6 @@
 			name = Products;
 			sourceTree = "<group>";
 		};
-		FF5D13A52A86C2D600BC9BD6 /* Basic-Car-Maintenance */ = {
-			isa = PBXGroup;
-			children = (
-				FFAA56EC2AC8905C000120EE /* Documentation.docc */,
-				FF755B412A908F4100F49A13 /* Shared */,
-				FF5D13AA2A86C2D800BC9BD6 /* Assets.xcassets */,
-				FF5D13AC2A86C2D800BC9BD6 /* Basic_Car_Maintenance.entitlements */,
-				FF5D13AD2A86C2D800BC9BD6 /* Preview Content */,
-			);
-			path = "Basic-Car-Maintenance";
-			sourceTree = "<group>";
-		};
-		FF5D13AD2A86C2D800BC9BD6 /* Preview Content */ = {
-			isa = PBXGroup;
-			children = (
-				FF5D13AE2A86C2D800BC9BD6 /* Preview Assets.xcassets */,
-			);
-			path = "Preview Content";
-			sourceTree = "<group>";
-		};
-		FF5D13B72A86C2D800BC9BD6 /* Basic-Car-Maintenance-Tests */ = {
-			isa = PBXGroup;
-			children = (
-				898009762AD1897B00604E7C /* Shared */,
-			);
-			path = "Basic-Car-Maintenance-Tests";
-			sourceTree = "<group>";
-		};
-		FF5D13C12A86C2D800BC9BD6 /* Basic-Car-Maintenance-UITests */ = {
-			isa = PBXGroup;
-			children = (
-				FF5D13C22A86C2D800BC9BD6 /* BasicCarMaintenanceUITests.swift */,
-			);
-			path = "Basic-Car-Maintenance-UITests";
-			sourceTree = "<group>";
-		};
-		FF755B3F2A908EC400F49A13 /* Dashboard */ = {
-			isa = PBXGroup;
-			children = (
-				FF3DDF492AA4386C009D91C4 /* Views */,
-				FF3DDF502AA4D282009D91C4 /* ViewModels */,
-			);
-			path = Dashboard;
-			sourceTree = "<group>";
-		};
-		FF755B402A908EC900F49A13 /* Settings */ = {
-			isa = PBXGroup;
-			children = (
-				FFC67D1E2AAEF7960073B338 /* Views */,
-				FFC67D1F2AAEF7A00073B338 /* ViewModels */,
-			);
-			path = Settings;
-			sourceTree = "<group>";
-		};
-		FF755B412A908F4100F49A13 /* Shared */ = {
-			isa = PBXGroup;
-			children = (
-				FF755B422A90915E00F49A13 /* Localizable.xcstrings */,
-				FFC8CDA32AA385E800D129A6 /* GoogleService-Info.plist */,
-				8AEE81732ACF394E00FC0C2A /* Info.plist */,
-				FFA392772C547CA300A0AD6D /* PrivacyInfo.xcprivacy */,
-				FF5D13A62A86C2D600BC9BD6 /* BasicCarMaintenanceApp.swift */,
-				E4345E602B4CDA4F0086D04B /* Onboarding */,
-				8A3D74832AD6D9870000FEEB /* MainView */,
-				FFBFE08F2A98EFDD000A9BEB /* Models */,
-				FF755B3F2A908EC400F49A13 /* Dashboard */,
-				FFE0AF542AD66C1E00AB46F8 /* Odometer */,
-				FF755B402A908EC900F49A13 /* Settings */,
-				0CA7ED072AE82BD100609019 /* Tips */,
-				FF755B442A90968D00F49A13 /* Utilities */,
-			);
-			path = Shared;
-			sourceTree = "<group>";
-		};
-		FF755B442A90968D00F49A13 /* Utilities */ = {
-			isa = PBXGroup;
-			children = (
-				FF755B452A90969D00F49A13 /* Bundle+extension.swift */,
-				154984A92AD9CAEE0015594C /* Constants.swift */,
-				637505472AEFFBAC00AA5D0B /* FirebaseAnalytics+Extension.swift */,
-				FF218EF52B00865F0025A533 /* AnalyticsService.swift */,
-			);
-			path = Utilities;
-			sourceTree = "<group>";
-		};
-		FFBE79BA2AD0A48C0005524E /* Configurations */ = {
-			isa = PBXGroup;
-			children = (
-				FFDADF5D2ACCE9AB00DDEF79 /* Project.xcconfig */,
-				FFBE79BB2AD0A57D0005524E /* UnitTests.xcconfig */,
-				FF0813562AD0A83000910EFA /* UITests.xcconfig */,
-				FF0813572AD0A92700910EFA /* Widget.xcconfig */,
-			);
-			path = Configurations;
-			sourceTree = "<group>";
-		};
-		FFBFE08F2A98EFDD000A9BEB /* Models */ = {
-			isa = PBXGroup;
-			children = (
-				FFBFE0902A98EFEC000A9BEB /* MaintenanceEvent.swift */,
-				E58499692ACDDAFF00634660 /* Contributor.swift */,
-				FFBFE0922A98F212000A9BEB /* Vehicle.swift */,
-				8AEE816E2ACF37F800FC0C2A /* Action.swift */,
-				8014A4CE2AD75928005B51F6 /* AppIcon.swift */,
-				57CDD9A32ADC320F002EFED0 /* OdometerReading.swift */,
-				8A3D748B2AD9C41D0000FEEB /* AlertItem.swift */,
-			);
-			path = Models;
-			sourceTree = "<group>";
-		};
-		FFC67D1E2AAEF7960073B338 /* Views */ = {
-			isa = PBXGroup;
-			children = (
-				FF755B3D2A908E7A00F49A13 /* SettingsView.swift */,
-				8014A4D02AD76034005B51F6 /* ChooseAppIconView.swift */,
-				FFBFE0962A98F7CB000A9BEB /* AddVehicleView.swift */,
-				E58499652ACDDA8B00634660 /* ContributorsListView.swift */,
-				E58499672ACDDA9A00634660 /* ContributorsProfileView.swift */,
-				FF09FC902AB6FF44006BE61A /* AuthenticationView.swift */,
-				E55B630C2B079E5A006BDDDF /* EditVehicleView.swift */,
-			);
-			path = Views;
-			sourceTree = "<group>";
-		};
-		FFC67D1F2AAEF7A00073B338 /* ViewModels */ = {
-			isa = PBXGroup;
-			children = (
-				FFC67D1C2AAEF7920073B338 /* SettingsViewModel.swift */,
-				FF748B5D2AB3589C004748A5 /* AuthenticationViewModel.swift */,
-				8014A4D22AD77C92005B51F6 /* ChooseAppIconViewModel.swift */,
-			);
-			path = ViewModels;
-			sourceTree = "<group>";
-		};
 		FFC8CDB12AA4226900D129A6 /* Frameworks */ = {
 			isa = PBXGroup;
 			children = (
@@ -491,27 +178,6 @@
 			name = Frameworks;
 			sourceTree = "<group>";
 		};
-		FFDADF822ACD35A100DDEF79 /* Basic-Car-Maintenance-Widget */ = {
-			isa = PBXGroup;
-			children = (
-				FFDADF832ACD35A100DDEF79 /* BasicCarMaintenanceWidgetBundle.swift */,
-				FFDADF852ACD35A100DDEF79 /* BasicCarMaintenanceWidget.swift */,
-				FFDADF872ACD35A100DDEF79 /* AppIntent.swift */,
-				FFDADF892ACD35A200DDEF79 /* Assets.xcassets */,
-				FFDADF8B2ACD35A200DDEF79 /* Info.plist */,
-			);
-			path = "Basic-Car-Maintenance-Widget";
-			sourceTree = "<group>";
-		};
-		FFE0AF542AD66C1E00AB46F8 /* Odometer */ = {
-			isa = PBXGroup;
-			children = (
-				57CDD99B2ADC3150002EFED0 /* Views */,
-				57CDD99C2ADC3159002EFED0 /* ViewModels */,
-			);
-			path = Odometer;
-			sourceTree = "<group>";
-		};
 /* End PBXGroup section */
 
 /* Begin PBXNativeTarget section */
@@ -522,15 +188,18 @@
 				FF5D139F2A86C2D600BC9BD6 /* Sources */,
 				FF5D13A02A86C2D600BC9BD6 /* Frameworks */,
 				FF5D13A12A86C2D600BC9BD6 /* Resources */,
-				FF748B5A2AB34A61004748A5 /* SwiftLintScript */,
 				FFDADF8F2ACD35A200DDEF79 /* Embed Foundation Extensions */,
 				FF50DDC22B07DF0C00E87362 /* ShellScript */,
 			);
 			buildRules = (
 			);
 			dependencies = (
+				C90C058C2CB0FC8000046C42 /* PBXTargetDependency */,
 				FFDADF8D2ACD35A200DDEF79 /* PBXTargetDependency */,
 			);
+			fileSystemSynchronizedGroups = (
+				FF52DE902CADE9EF0023F8DE /* Basic-Car-Maintenance */,
+			);
 			name = "Basic-Car-Maintenance";
 			packageProductDependencies = (
 				FFC8CDA62AA3867A00D129A6 /* FirebaseAnalytics */,
@@ -560,6 +229,9 @@
 			dependencies = (
 				FF5D13B62A86C2D800BC9BD6 /* PBXTargetDependency */,
 			);
+			fileSystemSynchronizedGroups = (
+				FF52DECC2CADEA030023F8DE /* Basic-Car-Maintenance-Tests */,
+			);
 			name = "Basic-Car-Maintenance-Tests";
 			productName = "Basic-Car-MaintenanceTests";
 			productReference = FF5D13B42A86C2D800BC9BD6 /* Basic-Car-Maintenance-Tests.xctest */;
@@ -578,6 +250,9 @@
 			dependencies = (
 				FF5D13C02A86C2D800BC9BD6 /* PBXTargetDependency */,
 			);
+			fileSystemSynchronizedGroups = (
+				FF52DECF2CADEA060023F8DE /* Basic-Car-Maintenance-UITests */,
+			);
 			name = "Basic-Car-Maintenance-UITests";
 			productName = "Basic-Car-MaintenanceUITests";
 			productReference = FF5D13BE2A86C2D800BC9BD6 /* Basic-Car-Maintenance-UITests.xctest */;
@@ -595,6 +270,9 @@
 			);
 			dependencies = (
 			);
+			fileSystemSynchronizedGroups = (
+				FF52DEC22CADEA000023F8DE /* Basic-Car-Maintenance-Widget */,
+			);
 			name = "Basic-Car-Maintenance-WidgetExtension";
 			productName = "Basic-Car-Maintenance-WidgetExtension";
 			productReference = FFDADF7D2ACD35A100DDEF79 /* Basic-Car-Maintenance-WidgetExtension.appex */;
@@ -647,6 +325,7 @@
 			mainGroup = FF5D139A2A86C2D500BC9BD6;
 			packageReferences = (
 				FFC8CDA52AA3867A00D129A6 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */,
+				C90C058A2CB0FC5800046C42 /* XCRemoteSwiftPackageReference "SwiftLintPlugins" */,
 			);
 			productRefGroup = FF5D13A42A86C2D600BC9BD6 /* Products */;
 			projectDirPath = "";
@@ -665,10 +344,6 @@
 			isa = PBXResourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				FF5D13AF2A86C2D800BC9BD6 /* Preview Assets.xcassets in Resources */,
-				FFC8CDA42AA385E800D129A6 /* GoogleService-Info.plist in Resources */,
-				FF5D13AB2A86C2D800BC9BD6 /* Assets.xcassets in Resources */,
-				FF755B432A90915E00F49A13 /* Localizable.xcstrings in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -690,7 +365,6 @@
 			isa = PBXResourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				FFDADF8A2ACD35A200DDEF79 /* Assets.xcassets in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -720,25 +394,6 @@
 			shellPath = /bin/sh;
 			shellScript = "# Type a script or drag a script file from your workspace to insert its path.\n\n\"${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run\"\n";
 		};
-		FF748B5A2AB34A61004748A5 /* SwiftLintScript */ = {
-			isa = PBXShellScriptBuildPhase;
-			alwaysOutOfDate = 1;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			inputFileListPaths = (
-			);
-			inputPaths = (
-			);
-			name = SwiftLintScript;
-			outputFileListPaths = (
-			);
-			outputPaths = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-			shellPath = /bin/sh;
-			shellScript = "# Type a script or drag a script file from your workspace to insert its path.\n\nif [[ \"$(uname -m)\" == arm64 ]]; then\n    export PATH=\"/opt/homebrew/bin:$PATH\"\nfi\n\nif which swiftlint > /dev/null; then\n  swiftlint\nelse\n  echo \"warning: SwiftLint not installed\"\nfi\n";
-		};
 /* End PBXShellScriptBuildPhase section */
 
 /* Begin PBXSourcesBuildPhase section */
@@ -746,43 +401,6 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				154984AA2AD9CAEE0015594C /* Constants.swift in Sources */,
-				FFBFE0912A98EFEC000A9BEB /* MaintenanceEvent.swift in Sources */,
-				57CDD9A42ADC320F002EFED0 /* OdometerReading.swift in Sources */,
-				E58499682ACDDA9A00634660 /* ContributorsProfileView.swift in Sources */,
-				FF755B492A909A0000F49A13 /* AddMaintenanceView.swift in Sources */,
-				FF09FC912AB6FF44006BE61A /* AuthenticationView.swift in Sources */,
-				FF50DDFB2B12944900E87362 /* EditOdometerReadingView.swift in Sources */,
-				023057F22ACFAD79006C5A73 /* EditEventDetailView.swift in Sources */,
-				637505482AEFFBAC00AA5D0B /* FirebaseAnalytics+Extension.swift in Sources */,
-				8A3D74862AD6D9A10000FEEB /* AlertView.swift in Sources */,
-				57CDD9A02ADC31A8002EFED0 /* AddOdometerReadingView.swift in Sources */,
-				57CDD99E2ADC3173002EFED0 /* OdometerViewModel.swift in Sources */,
-				E4345E642B4CE0500086D04B /* WelcomeViewAddVehicle.swift in Sources */,
-				E55B630D2B079E5A006BDDDF /* EditVehicleView.swift in Sources */,
-				FF755B3E2A908E7A00F49A13 /* SettingsView.swift in Sources */,
-				FF3DDF522AA4D28F009D91C4 /* DashboardViewModel.swift in Sources */,
-				FFE0AF562AD66C3500AB46F8 /* OdometerView.swift in Sources */,
-				8AEE816F2ACF37F800FC0C2A /* Action.swift in Sources */,
-				0CA7ED092AE82BF100609019 /* ContributionTip.swift in Sources */,
-				FFBFE0972A98F7CB000A9BEB /* AddVehicleView.swift in Sources */,
-				8A3D748C2AD9C41D0000FEEB /* AlertItem.swift in Sources */,
-				8A3D748A2AD9C3E00000FEEB /* MainTabViewModel.swift in Sources */,
-				E584996A2ACDDAFF00634660 /* Contributor.swift in Sources */,
-				8014A4D32AD77C92005B51F6 /* ChooseAppIconViewModel.swift in Sources */,
-				8014A4CF2AD75928005B51F6 /* AppIcon.swift in Sources */,
-				FFC67D1D2AAEF7920073B338 /* SettingsViewModel.swift in Sources */,
-				FF755B3C2A908E3E00F49A13 /* DashboardView.swift in Sources */,
-				8AEE81722ACF384D00FC0C2A /* MainTabView.swift in Sources */,
-				E58499662ACDDA8B00634660 /* ContributorsListView.swift in Sources */,
-				FFBFE0932A98F212000A9BEB /* Vehicle.swift in Sources */,
-				FF5D13A72A86C2D600BC9BD6 /* BasicCarMaintenanceApp.swift in Sources */,
-				E4345E622B4CDA7B0086D04B /* WelcomeView.swift in Sources */,
-				8014A4D12AD76034005B51F6 /* ChooseAppIconView.swift in Sources */,
-				FF218EF62B00865F0025A533 /* AnalyticsService.swift in Sources */,
-				FF748B5E2AB3589C004748A5 /* AuthenticationViewModel.swift in Sources */,
-				FF755B462A90969D00F49A13 /* Bundle+extension.swift in Sources */,
-				FFAA56ED2AC8905C000120EE /* Documentation.docc in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -790,7 +408,6 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				898009792AD1899700604E7C /* ContributorTests.swift in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -798,7 +415,6 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				FF5D13C32A86C2D800BC9BD6 /* BasicCarMaintenanceUITests.swift in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -806,15 +422,16 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				FFDADF842ACD35A100DDEF79 /* BasicCarMaintenanceWidgetBundle.swift in Sources */,
-				FFDADF862ACD35A100DDEF79 /* BasicCarMaintenanceWidget.swift in Sources */,
-				FFDADF882ACD35A100DDEF79 /* AppIntent.swift in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
 /* End PBXSourcesBuildPhase section */
 
 /* Begin PBXTargetDependency section */
+		C90C058C2CB0FC8000046C42 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			productRef = C90C058B2CB0FC8000046C42 /* SwiftLintBuildToolPlugin */;
+		};
 		FF5D13B62A86C2D800BC9BD6 /* PBXTargetDependency */ = {
 			isa = PBXTargetDependency;
 			target = FF5D13A22A86C2D600BC9BD6 /* Basic-Car-Maintenance */;
@@ -835,7 +452,8 @@
 /* Begin XCBuildConfiguration section */
 		FF5D13C62A86C2D800BC9BD6 /* Debug */ = {
 			isa = XCBuildConfiguration;
-			baseConfigurationReference = FFDADF5D2ACCE9AB00DDEF79 /* Project.xcconfig */;
+			baseConfigurationReferenceAnchor = FF52DED52CADEA150023F8DE /* Configurations */;
+			baseConfigurationReferenceRelativePath = Project.xcconfig;
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
 				ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
@@ -899,7 +517,8 @@
 		};
 		FF5D13C72A86C2D800BC9BD6 /* Release */ = {
 			isa = XCBuildConfiguration;
-			baseConfigurationReference = FFDADF5D2ACCE9AB00DDEF79 /* Project.xcconfig */;
+			baseConfigurationReferenceAnchor = FF52DED52CADEA150023F8DE /* Configurations */;
+			baseConfigurationReferenceRelativePath = Project.xcconfig;
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
 				ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
@@ -957,9 +576,9 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				ASSETCATALOG_COMPILER_ALTERNATE_APPICON_NAMES = "";
-				"ASSETCATALOG_COMPILER_ALTERNATE_APPICON_NAMES[sdk=*]" = "AppIcon-car-red AppIcon-car-yellow AppIcon-car-dark AppIcon-car-orange AppIcon-car-black";
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
+				ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
 				CODE_SIGN_ENTITLEMENTS = "Basic-Car-Maintenance/Basic_Car_Maintenance.entitlements";
 				CODE_SIGN_STYLE = Automatic;
 				DEAD_CODE_STRIPPING = YES;
@@ -1000,6 +619,7 @@
 				ASSETCATALOG_COMPILER_ALTERNATE_APPICON_NAMES = "";
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
+				ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
 				CODE_SIGN_ENTITLEMENTS = "Basic-Car-Maintenance/Basic_Car_Maintenance.entitlements";
 				CODE_SIGN_STYLE = Automatic;
 				DEAD_CODE_STRIPPING = YES;
@@ -1035,7 +655,8 @@
 		};
 		FF5D13CC2A86C2D800BC9BD6 /* Debug */ = {
 			isa = XCBuildConfiguration;
-			baseConfigurationReference = FFBE79BB2AD0A57D0005524E /* UnitTests.xcconfig */;
+			baseConfigurationReferenceAnchor = FF52DED52CADEA150023F8DE /* Configurations */;
+			baseConfigurationReferenceRelativePath = UnitTests.xcconfig;
 			buildSettings = {
 				BUNDLE_LOADER = "$(TEST_HOST)";
 				CODE_SIGN_STYLE = Automatic;
@@ -1055,7 +676,8 @@
 		};
 		FF5D13CD2A86C2D800BC9BD6 /* Release */ = {
 			isa = XCBuildConfiguration;
-			baseConfigurationReference = FFBE79BB2AD0A57D0005524E /* UnitTests.xcconfig */;
+			baseConfigurationReferenceAnchor = FF52DED52CADEA150023F8DE /* Configurations */;
+			baseConfigurationReferenceRelativePath = UnitTests.xcconfig;
 			buildSettings = {
 				BUNDLE_LOADER = "$(TEST_HOST)";
 				CODE_SIGN_STYLE = Automatic;
@@ -1075,7 +697,8 @@
 		};
 		FF5D13CF2A86C2D800BC9BD6 /* Debug */ = {
 			isa = XCBuildConfiguration;
-			baseConfigurationReference = FF0813562AD0A83000910EFA /* UITests.xcconfig */;
+			baseConfigurationReferenceAnchor = FF52DED52CADEA150023F8DE /* Configurations */;
+			baseConfigurationReferenceRelativePath = UITests.xcconfig;
 			buildSettings = {
 				CODE_SIGN_STYLE = Automatic;
 				DEAD_CODE_STRIPPING = YES;
@@ -1094,7 +717,8 @@
 		};
 		FF5D13D02A86C2D800BC9BD6 /* Release */ = {
 			isa = XCBuildConfiguration;
-			baseConfigurationReference = FF0813562AD0A83000910EFA /* UITests.xcconfig */;
+			baseConfigurationReferenceAnchor = FF52DED52CADEA150023F8DE /* Configurations */;
+			baseConfigurationReferenceRelativePath = UITests.xcconfig;
 			buildSettings = {
 				CODE_SIGN_STYLE = Automatic;
 				DEAD_CODE_STRIPPING = YES;
@@ -1113,7 +737,8 @@
 		};
 		FFDADF902ACD35A200DDEF79 /* Debug */ = {
 			isa = XCBuildConfiguration;
-			baseConfigurationReference = FF0813572AD0A92700910EFA /* Widget.xcconfig */;
+			baseConfigurationReferenceAnchor = FF52DED52CADEA150023F8DE /* Configurations */;
+			baseConfigurationReferenceRelativePath = Widget.xcconfig;
 			buildSettings = {
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
 				ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground;
@@ -1140,7 +765,8 @@
 		};
 		FFDADF912ACD35A200DDEF79 /* Release */ = {
 			isa = XCBuildConfiguration;
-			baseConfigurationReference = FF0813572AD0A92700910EFA /* Widget.xcconfig */;
+			baseConfigurationReferenceAnchor = FF52DED52CADEA150023F8DE /* Configurations */;
+			baseConfigurationReferenceRelativePath = Widget.xcconfig;
 			buildSettings = {
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
 				ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground;
@@ -1217,6 +843,14 @@
 /* End XCConfigurationList section */
 
 /* Begin XCRemoteSwiftPackageReference section */
+		C90C058A2CB0FC5800046C42 /* XCRemoteSwiftPackageReference "SwiftLintPlugins" */ = {
+			isa = XCRemoteSwiftPackageReference;
+			repositoryURL = "https://github.com/SimplyDanny/SwiftLintPlugins";
+			requirement = {
+				kind = upToNextMajorVersion;
+				minimumVersion = 0.57.0;
+			};
+		};
 		FFC8CDA52AA3867A00D129A6 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */ = {
 			isa = XCRemoteSwiftPackageReference;
 			repositoryURL = "https://github.com/firebase/firebase-ios-sdk.git";
@@ -1228,6 +862,11 @@
 /* End XCRemoteSwiftPackageReference section */
 
 /* Begin XCSwiftPackageProductDependency section */
+		C90C058B2CB0FC8000046C42 /* SwiftLintBuildToolPlugin */ = {
+			isa = XCSwiftPackageProductDependency;
+			package = C90C058A2CB0FC5800046C42 /* XCRemoteSwiftPackageReference "SwiftLintPlugins" */;
+			productName = "plugin:SwiftLintBuildToolPlugin";
+		};
 		FF153AFE2B07C3E000D0BA30 /* FirebaseCrashlytics */ = {
 			isa = XCSwiftPackageProductDependency;
 			package = FFC8CDA52AA3867A00D129A6 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */;
diff --git a/Basic-Car-Maintenance.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Basic-Car-Maintenance.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
index ef750a7f..51752bbf 100644
--- a/Basic-Car-Maintenance.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
+++ b/Basic-Car-Maintenance.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
@@ -1,5 +1,5 @@
 {
-  "originHash" : "a1569f9895aa2be8e24832f98525d5da4eb90b5d158a82691c15b47eb72a13d7",
+  "originHash" : "e930e24c9c553650612765cdca20ed1a1250fa5cff303bbfe41305b5b6feb700",
   "pins" : [
     {
       "identity" : "abseil-cpp-binary",
@@ -117,6 +117,15 @@
         "revision" : "edb6ed4919f7756157fe02f2552b7e3850a538e5",
         "version" : "1.28.1"
       }
+    },
+    {
+      "identity" : "swiftlintplugins",
+      "kind" : "remoteSourceControl",
+      "location" : "https://github.com/SimplyDanny/SwiftLintPlugins",
+      "state" : {
+        "revision" : "7c80ce6f142164b0201871e580b021d1b2c69804",
+        "version" : "0.57.0"
+      }
     }
   ],
   "version" : 3
diff --git a/Basic-Car-Maintenance/Assets.xcassets/AppIcon-car-black.appiconset/AppIcon-car-black.png b/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Black.appiconset/AppIcon-car-black.png
similarity index 100%
rename from Basic-Car-Maintenance/Assets.xcassets/AppIcon-car-black.appiconset/AppIcon-car-black.png
rename to Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Black.appiconset/AppIcon-car-black.png
diff --git a/Basic-Car-Maintenance/Assets.xcassets/AppIcon-car-dark.appiconset/AppIcon-car-dark.png b/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Black.appiconset/AppIcon-car-dark.png
similarity index 100%
rename from Basic-Car-Maintenance/Assets.xcassets/AppIcon-car-dark.appiconset/AppIcon-car-dark.png
rename to Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Black.appiconset/AppIcon-car-dark.png
diff --git a/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Black.appiconset/Contents.json b/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Black.appiconset/Contents.json
new file mode 100644
index 00000000..89592454
--- /dev/null
+++ b/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Black.appiconset/Contents.json
@@ -0,0 +1,38 @@
+{
+  "images" : [
+    {
+      "filename" : "AppIcon-car-black.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
+    },
+    {
+      "appearances" : [
+        {
+          "appearance" : "luminosity",
+          "value" : "dark"
+        }
+      ],
+      "filename" : "AppIcon-car-dark.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
+    },
+    {
+      "appearances" : [
+        {
+          "appearance" : "luminosity",
+          "value" : "tinted"
+        }
+      ],
+      "filename" : "Tinted.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
diff --git a/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Black.appiconset/Tinted.png b/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Black.appiconset/Tinted.png
new file mode 100644
index 00000000..16fb2607
Binary files /dev/null and b/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Black.appiconset/Tinted.png differ
diff --git a/Basic-Car-Maintenance/Assets.xcassets/AppIcon-car-orange.appiconset/AppIcon-car-orange.png b/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Orange.appiconset/AppIcon-car-orange.png
similarity index 100%
rename from Basic-Car-Maintenance/Assets.xcassets/AppIcon-car-orange.appiconset/AppIcon-car-orange.png
rename to Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Orange.appiconset/AppIcon-car-orange.png
diff --git a/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Orange.appiconset/Contents.json b/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Orange.appiconset/Contents.json
new file mode 100644
index 00000000..db95a981
--- /dev/null
+++ b/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Orange.appiconset/Contents.json
@@ -0,0 +1,38 @@
+{
+  "images" : [
+    {
+      "filename" : "AppIcon-car-orange.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
+    },
+    {
+      "appearances" : [
+        {
+          "appearance" : "luminosity",
+          "value" : "dark"
+        }
+      ],
+      "filename" : "Orange-Dark.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
+    },
+    {
+      "appearances" : [
+        {
+          "appearance" : "luminosity",
+          "value" : "tinted"
+        }
+      ],
+      "filename" : "Tinted.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
diff --git a/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Orange.appiconset/Orange-Dark.png b/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Orange.appiconset/Orange-Dark.png
new file mode 100644
index 00000000..3ad6a4f9
Binary files /dev/null and b/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Orange.appiconset/Orange-Dark.png differ
diff --git a/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Orange.appiconset/Tinted.png b/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Orange.appiconset/Tinted.png
new file mode 100644
index 00000000..16fb2607
Binary files /dev/null and b/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Orange.appiconset/Tinted.png differ
diff --git a/Basic-Car-Maintenance/Assets.xcassets/AppIcon-car-red.appiconset/AppIcon-car-red.png b/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Red.appiconset/AppIcon-car-red.png
similarity index 100%
rename from Basic-Car-Maintenance/Assets.xcassets/AppIcon-car-red.appiconset/AppIcon-car-red.png
rename to Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Red.appiconset/AppIcon-car-red.png
diff --git a/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Red.appiconset/Contents.json b/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Red.appiconset/Contents.json
new file mode 100644
index 00000000..800c8a06
--- /dev/null
+++ b/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Red.appiconset/Contents.json
@@ -0,0 +1,38 @@
+{
+  "images" : [
+    {
+      "filename" : "AppIcon-car-red.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
+    },
+    {
+      "appearances" : [
+        {
+          "appearance" : "luminosity",
+          "value" : "dark"
+        }
+      ],
+      "filename" : "Red-Dark.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
+    },
+    {
+      "appearances" : [
+        {
+          "appearance" : "luminosity",
+          "value" : "tinted"
+        }
+      ],
+      "filename" : "Tinted.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
diff --git a/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Red.appiconset/Red-Dark.png b/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Red.appiconset/Red-Dark.png
new file mode 100644
index 00000000..851c033c
Binary files /dev/null and b/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Red.appiconset/Red-Dark.png differ
diff --git a/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Red.appiconset/Tinted.png b/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Red.appiconset/Tinted.png
new file mode 100644
index 00000000..16fb2607
Binary files /dev/null and b/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Red.appiconset/Tinted.png differ
diff --git a/Basic-Car-Maintenance/Assets.xcassets/AppIcon-car-yellow.appiconset/AppIcon-car-yellow.png b/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Yellow.appiconset/AppIcon-car-yellow.png
similarity index 100%
rename from Basic-Car-Maintenance/Assets.xcassets/AppIcon-car-yellow.appiconset/AppIcon-car-yellow.png
rename to Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Yellow.appiconset/AppIcon-car-yellow.png
diff --git a/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Yellow.appiconset/Contents.json b/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Yellow.appiconset/Contents.json
new file mode 100644
index 00000000..a0160e6b
--- /dev/null
+++ b/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Yellow.appiconset/Contents.json
@@ -0,0 +1,38 @@
+{
+  "images" : [
+    {
+      "filename" : "AppIcon-car-yellow.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
+    },
+    {
+      "appearances" : [
+        {
+          "appearance" : "luminosity",
+          "value" : "dark"
+        }
+      ],
+      "filename" : "Yellow-Dark.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
+    },
+    {
+      "appearances" : [
+        {
+          "appearance" : "luminosity",
+          "value" : "tinted"
+        }
+      ],
+      "filename" : "Tinted.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
diff --git a/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Yellow.appiconset/Tinted.png b/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Yellow.appiconset/Tinted.png
new file mode 100644
index 00000000..16fb2607
Binary files /dev/null and b/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Yellow.appiconset/Tinted.png differ
diff --git a/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Yellow.appiconset/Yellow-Dark.png b/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Yellow.appiconset/Yellow-Dark.png
new file mode 100644
index 00000000..25b1d7f4
Binary files /dev/null and b/Basic-Car-Maintenance/Assets.xcassets/AppIcon-Car-Yellow.appiconset/Yellow-Dark.png differ
diff --git a/Basic-Car-Maintenance/Assets.xcassets/AppIcon-car-black.appiconset/Contents.json b/Basic-Car-Maintenance/Assets.xcassets/AppIcon-car-black.appiconset/Contents.json
deleted file mode 100644
index 14d48c0f..00000000
--- a/Basic-Car-Maintenance/Assets.xcassets/AppIcon-car-black.appiconset/Contents.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{
-  "images" : [
-    {
-      "filename" : "AppIcon-car-black.png",
-      "idiom" : "universal",
-      "platform" : "ios",
-      "size" : "1024x1024"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "16x16"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "16x16"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "32x32"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "32x32"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "128x128"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "128x128"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "256x256"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "256x256"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "512x512"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "512x512"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
diff --git a/Basic-Car-Maintenance/Assets.xcassets/AppIcon-car-dark.appiconset/Contents.json b/Basic-Car-Maintenance/Assets.xcassets/AppIcon-car-dark.appiconset/Contents.json
deleted file mode 100644
index ff9d8f88..00000000
--- a/Basic-Car-Maintenance/Assets.xcassets/AppIcon-car-dark.appiconset/Contents.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{
-  "images" : [
-    {
-      "filename" : "AppIcon-car-dark.png",
-      "idiom" : "universal",
-      "platform" : "ios",
-      "size" : "1024x1024"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "16x16"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "16x16"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "32x32"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "32x32"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "128x128"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "128x128"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "256x256"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "256x256"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "512x512"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "512x512"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
diff --git a/Basic-Car-Maintenance/Assets.xcassets/AppIcon-car-orange.appiconset/Contents.json b/Basic-Car-Maintenance/Assets.xcassets/AppIcon-car-orange.appiconset/Contents.json
deleted file mode 100644
index 40c605c3..00000000
--- a/Basic-Car-Maintenance/Assets.xcassets/AppIcon-car-orange.appiconset/Contents.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{
-  "images" : [
-    {
-      "filename" : "AppIcon-car-orange.png",
-      "idiom" : "universal",
-      "platform" : "ios",
-      "size" : "1024x1024"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "16x16"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "16x16"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "32x32"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "32x32"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "128x128"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "128x128"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "256x256"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "256x256"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "512x512"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "512x512"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
diff --git a/Basic-Car-Maintenance/Assets.xcassets/AppIcon-car-red.appiconset/Contents.json b/Basic-Car-Maintenance/Assets.xcassets/AppIcon-car-red.appiconset/Contents.json
deleted file mode 100644
index 6f09510b..00000000
--- a/Basic-Car-Maintenance/Assets.xcassets/AppIcon-car-red.appiconset/Contents.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{
-  "images" : [
-    {
-      "filename" : "AppIcon-car-red.png",
-      "idiom" : "universal",
-      "platform" : "ios",
-      "size" : "1024x1024"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "16x16"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "16x16"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "32x32"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "32x32"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "128x128"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "128x128"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "256x256"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "256x256"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "512x512"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "512x512"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
diff --git a/Basic-Car-Maintenance/Assets.xcassets/AppIcon-car-yellow.appiconset/Contents.json b/Basic-Car-Maintenance/Assets.xcassets/AppIcon-car-yellow.appiconset/Contents.json
deleted file mode 100644
index 6c048a4b..00000000
--- a/Basic-Car-Maintenance/Assets.xcassets/AppIcon-car-yellow.appiconset/Contents.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{
-  "images" : [
-    {
-      "filename" : "AppIcon-car-yellow.png",
-      "idiom" : "universal",
-      "platform" : "ios",
-      "size" : "1024x1024"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "16x16"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "16x16"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "32x32"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "32x32"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "128x128"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "128x128"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "256x256"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "256x256"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "512x512"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "512x512"
-    }
-  ],
-  "info" : {
-    "author" : "xcode",
-    "version" : 1
-  }
-}
diff --git a/Basic-Car-Maintenance/Assets.xcassets/AppIcon.appiconset/AppIcon-Original-Dark.png b/Basic-Car-Maintenance/Assets.xcassets/AppIcon.appiconset/AppIcon-Original-Dark.png
new file mode 100644
index 00000000..ab663b8a
Binary files /dev/null and b/Basic-Car-Maintenance/Assets.xcassets/AppIcon.appiconset/AppIcon-Original-Dark.png differ
diff --git a/Basic-Car-Maintenance/Assets.xcassets/AppIcon.appiconset/AppIcon-Original-Tinted.png b/Basic-Car-Maintenance/Assets.xcassets/AppIcon.appiconset/AppIcon-Original-Tinted.png
new file mode 100644
index 00000000..ac5f4384
Binary files /dev/null and b/Basic-Car-Maintenance/Assets.xcassets/AppIcon.appiconset/AppIcon-Original-Tinted.png differ
diff --git a/Basic-Car-Maintenance/Assets.xcassets/AppIcon.appiconset/Contents.json b/Basic-Car-Maintenance/Assets.xcassets/AppIcon.appiconset/Contents.json
index 53e88f5a..a32b4543 100644
--- a/Basic-Car-Maintenance/Assets.xcassets/AppIcon.appiconset/Contents.json
+++ b/Basic-Car-Maintenance/Assets.xcassets/AppIcon.appiconset/Contents.json
@@ -7,54 +7,28 @@
       "size" : "1024x1024"
     },
     {
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "16x16"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "16x16"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "32x32"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "32x32"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "128x128"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "128x128"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "256x256"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "256x256"
-    },
-    {
-      "idiom" : "mac",
-      "scale" : "1x",
-      "size" : "512x512"
+      "appearances" : [
+        {
+          "appearance" : "luminosity",
+          "value" : "dark"
+        }
+      ],
+      "filename" : "AppIcon-Original-Dark.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
     },
     {
-      "idiom" : "mac",
-      "scale" : "2x",
-      "size" : "512x512"
+      "appearances" : [
+        {
+          "appearance" : "luminosity",
+          "value" : "tinted"
+        }
+      ],
+      "filename" : "AppIcon-Original-Tinted.png",
+      "idiom" : "universal",
+      "platform" : "ios",
+      "size" : "1024x1024"
     }
   ],
   "info" : {
diff --git a/Basic-Car-Maintenance/Documentation.docc/App Store Listing.md b/Basic-Car-Maintenance/Documentation.docc/AppStoreListing.md
similarity index 100%
rename from Basic-Car-Maintenance/Documentation.docc/App Store Listing.md
rename to Basic-Car-Maintenance/Documentation.docc/AppStoreListing.md
diff --git a/Basic-Car-Maintenance/Documentation.docc/Documentation.md b/Basic-Car-Maintenance/Documentation.docc/Documentation.md
index 9bdda04c..7edcec7c 100644
--- a/Basic-Car-Maintenance/Documentation.docc/Documentation.md
+++ b/Basic-Car-Maintenance/Documentation.docc/Documentation.md
@@ -4,7 +4,7 @@ A basic app to track your car's maintenance, like oil changes, tire rotation, et
 
 ## Overview
 
-This app is open source for [Hacktoberfest 2023](https://hacktoberfest.com/)! 
+This app is open source for [Hacktoberfest 2024](https://hacktoberfest.com/)! 
 
 Use this app to gain experience getting started in open source for iOS and macOS development using Swift and SwiftUI.
 
@@ -14,4 +14,4 @@ More documentation to be added soon!
 
 ### Essentials
 - <doc:Tutorial-Table-of-Contents>
-- <doc:FirestoreDetails>
+- <doc:FirestoreCollections>
diff --git a/Basic-Car-Maintenance/Documentation.docc/FirestoreDetails.md b/Basic-Car-Maintenance/Documentation.docc/FirestoreCollections.md
similarity index 99%
rename from Basic-Car-Maintenance/Documentation.docc/FirestoreDetails.md
rename to Basic-Car-Maintenance/Documentation.docc/FirestoreCollections.md
index efcb005e..6401104f 100644
--- a/Basic-Car-Maintenance/Documentation.docc/FirestoreDetails.md
+++ b/Basic-Car-Maintenance/Documentation.docc/FirestoreCollections.md
@@ -4,7 +4,7 @@ All about the Firebase Firestore data structure
 
 ![Firestore Diagram with sub-collections](FirestoreDiagram.png)
 
-### _alerts_
+### alerts
 
 The alerts collection contains system level alerts that will be visible to all users. The alerts
 will only be displayed to the user once.
diff --git a/Basic-Car-Maintenance/Documentation.docc/getting-started.tutorial b/Basic-Car-Maintenance/Documentation.docc/getting-started.tutorial
index a1c5551d..92c483b0 100644
--- a/Basic-Car-Maintenance/Documentation.docc/getting-started.tutorial
+++ b/Basic-Car-Maintenance/Documentation.docc/getting-started.tutorial
@@ -1,4 +1,4 @@
-@Tutorial(time: 15) {
+@Tutorial(time: 20) {
     @Intro(title: "How to Contribute to this Project") {
         Here's instructions on how to prepare, fork, clone, configure, build and contribute to this project. This tutorial uses the [GitHub CLI](https://cli.github.com/)
         
@@ -20,7 +20,7 @@
                 Read the CONTRIBUTING guidelines
             }
             @Step {
-                Download [Xcode 15.0](https://developer.apple.com/xcode/resources/) or later.
+                Download [Xcode 16.0](https://developer.apple.com/xcode/resources/) or later.
                 
             }
             @Step {
@@ -88,8 +88,53 @@
             }
         }
     }
-    
-    @Section(title: "Starting on an issue") {
+
+    @Section(title: "Setting Up Firebase Local Emulator") {
+        @ContentAndMedia {
+            Follow these steps to set up the Firebase Local Emulator to load data locally and not affect production. Please do not skip this step.
+        }
+
+        @Steps {
+            @Step {
+                Install Homebrew, a package manager for macOS, if you haven't already:
+
+                `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"`
+            }
+            @Step {
+                Install Xcode command line tools:
+
+                `xcode-select --install`
+            }
+            @Step {
+                Install Node Version Manager (NVM). You then don't need to update the system node version.
+
+                `brew install nvm`
+            }
+            @Step {
+                Add the executable to the `$PATH` via `.zshrc` or `.bashrc` file as prompted after installation. Do NOT forget this! (and then restart your Terminal)
+            }
+            @Step {
+                Download and use the latest stable version of Node.js:
+
+                `nvm install stable` 
+            }
+            @Step {
+                `nvm use stable`
+            }
+            @Step {
+                Install OpenJDK, and add the executable to the `$PATH` via `.zshrc` or `.bashrc` file as prompted after installation. Do NOT forget this! (and then restart your Terminal)
+
+                `brew install openjdk` 
+            }
+            @Step {
+                Install Firebase Tools for running the emulator.
+
+                `npm install -g firebase-tools`
+            }
+        }
+    }
+
+    @Section(title: "Start Working on an Issue") {
         @ContentAndMedia {
             **BEFORE** starting on an issue, comment on the issue you want to work on.
 
@@ -106,6 +151,31 @@
                 
                 @Image(source: 8-checkout.png, alt: "Checkout issue locally")
             }
+            @Step {
+                Anytime you run the project, first in Terminal `cd` to `backend` in the Basic-Car-Maintenance directory. This is the directory with the `firebase.json` file, you should see that if you type `ls`
+
+                `cd backend`
+            }
+            @Step {
+                Start the Firebase Emulator. Which will start the emulators, and keep your data in local-data directory. Meaning when you start and stop the emulator your data will persist.
+
+                `firebase emulators:start --import=./local-data --export-on-exit`
+            }
+            @Step {
+                Run the app. You should see your anonymous user in Authentication, and once you add new data, see it in Firestore emulator UI at: http://127.0.0.1:4000/firestore
+                
+                If you don't see your user, delete the app from the simulator, and in the menu go to Device > Erase All Content and Settings (which resets your simulator), and try to run again
+            }
+            
+            @Step {
+                If you receive the following error when you launch the emulator:  _'firebase-tools no longer supports Java version before 11. Please upgrade to Java version 11 or above to continue using the emulators'_
+
+                The openJDK install failed and you will have to install the latest JDK manually. You can download the latest version here [JDK23](https://www.oracle.com/java/technologies/downloads/#jdk23-mac) 
+            }
+            
+            @Step {
+                When your feature or fix is complete, open a pull request (PR) from your feature branch to the `dev` branch. Make sure to use a descriptive PR title and fill out the entire PR template without deleting any sections.
+            }
         }
     }
 }
diff --git a/Basic-Car-Maintenance/Shared/BasicCarMaintenanceApp.swift b/Basic-Car-Maintenance/Shared/BasicCarMaintenanceApp.swift
index 06915ce0..77274d0e 100644
--- a/Basic-Car-Maintenance/Shared/BasicCarMaintenanceApp.swift
+++ b/Basic-Car-Maintenance/Shared/BasicCarMaintenanceApp.swift
@@ -2,7 +2,8 @@
 //  BasicCarMaintenanceApp.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Mikaela Caron on 8/11/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import FirebaseAuth
diff --git a/Basic-Car-Maintenance/Shared/Dashboard/ViewModels/DashboardViewModel.swift b/Basic-Car-Maintenance/Shared/Dashboard/ViewModels/DashboardViewModel.swift
index 7666f7f1..c49ba813 100644
--- a/Basic-Car-Maintenance/Shared/Dashboard/ViewModels/DashboardViewModel.swift
+++ b/Basic-Car-Maintenance/Shared/Dashboard/ViewModels/DashboardViewModel.swift
@@ -2,7 +2,8 @@
 //  DashboardViewModel.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Mikaela Caron on 9/3/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import FirebaseFirestore
diff --git a/Basic-Car-Maintenance/Shared/Dashboard/Views/AddMaintenanceView.swift b/Basic-Car-Maintenance/Shared/Dashboard/Views/AddMaintenanceView.swift
index ad56f790..098b6f69 100644
--- a/Basic-Car-Maintenance/Shared/Dashboard/Views/AddMaintenanceView.swift
+++ b/Basic-Car-Maintenance/Shared/Dashboard/Views/AddMaintenanceView.swift
@@ -2,7 +2,8 @@
 //  AddMaintenanceView.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Mikaela Caron on 8/19/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import SwiftUI
diff --git a/Basic-Car-Maintenance/Shared/Dashboard/Views/DashboardView.swift b/Basic-Car-Maintenance/Shared/Dashboard/Views/DashboardView.swift
index 02b79e92..eaa51d41 100644
--- a/Basic-Car-Maintenance/Shared/Dashboard/Views/DashboardView.swift
+++ b/Basic-Car-Maintenance/Shared/Dashboard/Views/DashboardView.swift
@@ -2,7 +2,8 @@
 //  DashboardView.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Mikaela Caron on 8/19/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import SwiftUI
diff --git a/Basic-Car-Maintenance/Shared/Dashboard/Views/EditEventDetailView.swift b/Basic-Car-Maintenance/Shared/Dashboard/Views/EditEventDetailView.swift
index c8d4f911..84494f6a 100644
--- a/Basic-Car-Maintenance/Shared/Dashboard/Views/EditEventDetailView.swift
+++ b/Basic-Car-Maintenance/Shared/Dashboard/Views/EditEventDetailView.swift
@@ -2,7 +2,8 @@
 //  EditMaintenanceEventView.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Aaron Wilson on 10/5/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import SwiftUI
diff --git a/Basic-Car-Maintenance/Shared/MainView/ViewModels/MainTabViewModel.swift b/Basic-Car-Maintenance/Shared/MainView/ViewModels/MainTabViewModel.swift
index 7ba9ac0c..ddb75d59 100644
--- a/Basic-Car-Maintenance/Shared/MainView/ViewModels/MainTabViewModel.swift
+++ b/Basic-Car-Maintenance/Shared/MainView/ViewModels/MainTabViewModel.swift
@@ -2,7 +2,8 @@
 //  MainTabViewModel.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Omar Hegazy on 13/10/2023.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import Foundation
diff --git a/Basic-Car-Maintenance/Shared/MainView/Views/AlertView.swift b/Basic-Car-Maintenance/Shared/MainView/Views/AlertView.swift
index 9487982c..18b6d82e 100644
--- a/Basic-Car-Maintenance/Shared/MainView/Views/AlertView.swift
+++ b/Basic-Car-Maintenance/Shared/MainView/Views/AlertView.swift
@@ -2,7 +2,8 @@
 //  AlertView.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Omar Hegazy on 11/10/2023.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import SwiftUI
diff --git a/Basic-Car-Maintenance/Shared/MainView/Views/MainTabView.swift b/Basic-Car-Maintenance/Shared/MainView/Views/MainTabView.swift
index 786d3333..2967873b 100644
--- a/Basic-Car-Maintenance/Shared/MainView/Views/MainTabView.swift
+++ b/Basic-Car-Maintenance/Shared/MainView/Views/MainTabView.swift
@@ -2,11 +2,12 @@
 //  MainTabView.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Omar Hegazy on 05/10/2023.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
-import SwiftUI
 import SwiftData
+import SwiftUI
 
 enum TabSelection: Int, Identifiable, CaseIterable {
     var id: Self { self }
@@ -53,8 +54,8 @@ struct MainTabView: View {
     @State private var selectedTabId: TabSelection.ID? = .dashboard
     @State private var columnVisibility = NavigationSplitViewVisibility.automatic
     
-    @State var authenticationViewModel = AuthenticationViewModel()
-    @State var viewModel = MainTabViewModel()
+    @State private var authenticationViewModel = AuthenticationViewModel()
+    @State private var viewModel = MainTabViewModel()
     
     init() {
         _selectedTabId = State(initialValue: selectedTab)
diff --git a/Basic-Car-Maintenance/Shared/Models/Action.swift b/Basic-Car-Maintenance/Shared/Models/Action.swift
index b0d7059e..248f8da8 100644
--- a/Basic-Car-Maintenance/Shared/Models/Action.swift
+++ b/Basic-Car-Maintenance/Shared/Models/Action.swift
@@ -2,7 +2,8 @@
 //  Action.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Omar Hegazy on 05/10/2023.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import UIKit
diff --git a/Basic-Car-Maintenance/Shared/Models/AlertItem.swift b/Basic-Car-Maintenance/Shared/Models/AlertItem.swift
index 4fa8bb7e..0b91b2e5 100644
--- a/Basic-Car-Maintenance/Shared/Models/AlertItem.swift
+++ b/Basic-Car-Maintenance/Shared/Models/AlertItem.swift
@@ -2,7 +2,8 @@
 //  AlertItem.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Omar Hegazy on 13/10/2023.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import Foundation
diff --git a/Basic-Car-Maintenance/Shared/Models/AppIcon.swift b/Basic-Car-Maintenance/Shared/Models/AppIcon.swift
index 85c42b46..ace59f3b 100644
--- a/Basic-Car-Maintenance/Shared/Models/AppIcon.swift
+++ b/Basic-Car-Maintenance/Shared/Models/AppIcon.swift
@@ -2,14 +2,14 @@
 //  ChooseAppIconView.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Daniel Lyons on 10/11/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import UIKit
 
 enum AppIcon: String, CaseIterable, Identifiable {
     case primary = "AppIcon"
-    case carDark = "AppIcon-car-dark"
     case carRed = "AppIcon-car-red"
     case carYellow = "AppIcon-car-yellow"
     case carBlack = "AppIcon-car-black"
@@ -33,8 +33,6 @@ enum AppIcon: String, CaseIterable, Identifiable {
         switch self {
         case .primary:
             return "Default"
-        case .carDark:
-            return "Dark Mode"
         case .carRed:
             return "Red Car"
         case .carYellow:
diff --git a/Basic-Car-Maintenance/Shared/Models/Contributor.swift b/Basic-Car-Maintenance/Shared/Models/Contributor.swift
index 63553d9c..12ff317d 100644
--- a/Basic-Car-Maintenance/Shared/Models/Contributor.swift
+++ b/Basic-Car-Maintenance/Shared/Models/Contributor.swift
@@ -2,7 +2,8 @@
 //  Contributor.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Yashraj jadhav on 01/10/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import Foundation
diff --git a/Basic-Car-Maintenance/Shared/Models/MaintenanceEvent.swift b/Basic-Car-Maintenance/Shared/Models/MaintenanceEvent.swift
index c2a2e1c7..a6378951 100644
--- a/Basic-Car-Maintenance/Shared/Models/MaintenanceEvent.swift
+++ b/Basic-Car-Maintenance/Shared/Models/MaintenanceEvent.swift
@@ -2,7 +2,8 @@
 //  MaintenanceEvent.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Mikaela Caron on 8/25/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import FirebaseFirestoreSwift
diff --git a/Basic-Car-Maintenance/Shared/Models/OdometerReading.swift b/Basic-Car-Maintenance/Shared/Models/OdometerReading.swift
index 611551eb..6c40926b 100644
--- a/Basic-Car-Maintenance/Shared/Models/OdometerReading.swift
+++ b/Basic-Car-Maintenance/Shared/Models/OdometerReading.swift
@@ -2,7 +2,8 @@
 //  OdometerReading.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Nate Schaffner on 10/15/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import Foundation
diff --git a/Basic-Car-Maintenance/Shared/Models/Vehicle.swift b/Basic-Car-Maintenance/Shared/Models/Vehicle.swift
index c52dfd4d..0b80d06a 100644
--- a/Basic-Car-Maintenance/Shared/Models/Vehicle.swift
+++ b/Basic-Car-Maintenance/Shared/Models/Vehicle.swift
@@ -2,7 +2,8 @@
 //  Vehicle.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Mikaela Caron on 8/25/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import FirebaseFirestoreSwift
diff --git a/Basic-Car-Maintenance/Shared/Odometer/ViewModels/OdometerViewModel.swift b/Basic-Car-Maintenance/Shared/Odometer/ViewModels/OdometerViewModel.swift
index c11358dd..f56d1c81 100644
--- a/Basic-Car-Maintenance/Shared/Odometer/ViewModels/OdometerViewModel.swift
+++ b/Basic-Car-Maintenance/Shared/Odometer/ViewModels/OdometerViewModel.swift
@@ -2,7 +2,8 @@
 //  OdometerViewModel.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Nate Schaffner on 10/15/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import FirebaseFirestore
diff --git a/Basic-Car-Maintenance/Shared/Odometer/Views/AddOdometerReadingView.swift b/Basic-Car-Maintenance/Shared/Odometer/Views/AddOdometerReadingView.swift
index 5a55900e..dd07ad35 100644
--- a/Basic-Car-Maintenance/Shared/Odometer/Views/AddOdometerReadingView.swift
+++ b/Basic-Car-Maintenance/Shared/Odometer/Views/AddOdometerReadingView.swift
@@ -2,7 +2,8 @@
 //  AddOdometerReadingView.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Nate Schaffner on 10/15/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import SwiftUI
diff --git a/Basic-Car-Maintenance/Shared/Odometer/Views/EditOdometerReadingView.swift b/Basic-Car-Maintenance/Shared/Odometer/Views/EditOdometerReadingView.swift
index 28ab794d..69249e17 100644
--- a/Basic-Car-Maintenance/Shared/Odometer/Views/EditOdometerReadingView.swift
+++ b/Basic-Car-Maintenance/Shared/Odometer/Views/EditOdometerReadingView.swift
@@ -2,7 +2,8 @@
 //  EditOdometerReadingView.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Mikaela Caron on 11/25/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import SwiftUI
diff --git a/Basic-Car-Maintenance/Shared/Odometer/Views/OdometerView.swift b/Basic-Car-Maintenance/Shared/Odometer/Views/OdometerView.swift
index abdceaef..0d18e8a4 100644
--- a/Basic-Car-Maintenance/Shared/Odometer/Views/OdometerView.swift
+++ b/Basic-Car-Maintenance/Shared/Odometer/Views/OdometerView.swift
@@ -2,7 +2,8 @@
 //  OdometerView.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Mikaela Caron on 10/11/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import SwiftUI
diff --git a/Basic-Car-Maintenance/Shared/Onboarding/Views/WelcomeView.swift b/Basic-Car-Maintenance/Shared/Onboarding/Views/WelcomeView.swift
index 8ec1a9e2..85ceec7f 100644
--- a/Basic-Car-Maintenance/Shared/Onboarding/Views/WelcomeView.swift
+++ b/Basic-Car-Maintenance/Shared/Onboarding/Views/WelcomeView.swift
@@ -2,7 +2,8 @@
 //  WelcomeView.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Marcin Jędrzejak on 09/01/2024.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import SwiftUI
diff --git a/Basic-Car-Maintenance/Shared/Onboarding/Views/WelcomeViewAddVehicle.swift b/Basic-Car-Maintenance/Shared/Onboarding/Views/WelcomeViewAddVehicle.swift
index 81babd68..8261ae96 100644
--- a/Basic-Car-Maintenance/Shared/Onboarding/Views/WelcomeViewAddVehicle.swift
+++ b/Basic-Car-Maintenance/Shared/Onboarding/Views/WelcomeViewAddVehicle.swift
@@ -2,7 +2,8 @@
 //  WelcomeViewAddVehicle.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Marcin Jędrzejak on 09/01/2024.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import SwiftUI
diff --git a/Basic-Car-Maintenance/Shared/Settings/ViewModels/AuthenticationViewModel.swift b/Basic-Car-Maintenance/Shared/Settings/ViewModels/AuthenticationViewModel.swift
index 831f506f..3bae8b5b 100644
--- a/Basic-Car-Maintenance/Shared/Settings/ViewModels/AuthenticationViewModel.swift
+++ b/Basic-Car-Maintenance/Shared/Settings/ViewModels/AuthenticationViewModel.swift
@@ -2,7 +2,8 @@
 //  AuthenticationViewModel.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Mikaela Caron on 9/14/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import AuthenticationServices
diff --git a/Basic-Car-Maintenance/Shared/Settings/ViewModels/ChooseAppIconViewModel.swift b/Basic-Car-Maintenance/Shared/Settings/ViewModels/ChooseAppIconViewModel.swift
index 1e36ed4d..50019eb4 100644
--- a/Basic-Car-Maintenance/Shared/Settings/ViewModels/ChooseAppIconViewModel.swift
+++ b/Basic-Car-Maintenance/Shared/Settings/ViewModels/ChooseAppIconViewModel.swift
@@ -1,8 +1,9 @@
 //
-//  ChooseAppIconView.swift
+//  ChooseAppIconViewModel.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Daniel Lyons on 10/11/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import UIKit
diff --git a/Basic-Car-Maintenance/Shared/Settings/ViewModels/SettingsViewModel.swift b/Basic-Car-Maintenance/Shared/Settings/ViewModels/SettingsViewModel.swift
index 99eac66d..2e0af72e 100644
--- a/Basic-Car-Maintenance/Shared/Settings/ViewModels/SettingsViewModel.swift
+++ b/Basic-Car-Maintenance/Shared/Settings/ViewModels/SettingsViewModel.swift
@@ -2,7 +2,8 @@
 //  SettingsViewModel.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Mikaela Caron on 9/11/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import FirebaseFirestore
diff --git a/Basic-Car-Maintenance/Shared/Settings/Views/AddVehicleView.swift b/Basic-Car-Maintenance/Shared/Settings/Views/AddVehicleView.swift
index a174792d..31919af0 100644
--- a/Basic-Car-Maintenance/Shared/Settings/Views/AddVehicleView.swift
+++ b/Basic-Car-Maintenance/Shared/Settings/Views/AddVehicleView.swift
@@ -2,7 +2,8 @@
 //  AddVehicleView.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Mikaela Caron on 8/25/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import SwiftUI
diff --git a/Basic-Car-Maintenance/Shared/Settings/Views/AuthenticationView.swift b/Basic-Car-Maintenance/Shared/Settings/Views/AuthenticationView.swift
index 41bd44cc..642c0ee0 100644
--- a/Basic-Car-Maintenance/Shared/Settings/Views/AuthenticationView.swift
+++ b/Basic-Car-Maintenance/Shared/Settings/Views/AuthenticationView.swift
@@ -2,7 +2,8 @@
 //  AuthenticationView.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Mikaela Caron on 9/17/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import AuthenticationServices
diff --git a/Basic-Car-Maintenance/Shared/Settings/Views/ChooseAppIconView.swift b/Basic-Car-Maintenance/Shared/Settings/Views/ChooseAppIconView.swift
index d0007365..63b96f6e 100644
--- a/Basic-Car-Maintenance/Shared/Settings/Views/ChooseAppIconView.swift
+++ b/Basic-Car-Maintenance/Shared/Settings/Views/ChooseAppIconView.swift
@@ -2,13 +2,14 @@
 //  ChooseAppIconView.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Daniel Lyons on 10/11/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import SwiftUI
 
 struct ChooseAppIconView: View {
-    @State var viewModel: ChooseAppIconViewModel = .init()
+    @State private var viewModel: ChooseAppIconViewModel = .init()
     
     private func isSelected(_ icon: AppIcon) -> Bool {
         return viewModel.selectedAppIcon == icon
@@ -18,6 +19,7 @@ struct ChooseAppIconView: View {
         GridItem(.flexible(minimum: 30, maximum: 300)),
         GridItem(.flexible(minimum: 30, maximum: 300))
     ]
+    
     var body: some View {
         Form {
             Section {
@@ -71,5 +73,5 @@ extension ChooseAppIconView {
 }
 
 #Preview {
-    ChooseAppIconView(viewModel: .init())
+    ChooseAppIconView()
 }
diff --git a/Basic-Car-Maintenance/Shared/Settings/Views/ContributorsListView.swift b/Basic-Car-Maintenance/Shared/Settings/Views/ContributorsListView.swift
index 08134cb7..c6eae12b 100644
--- a/Basic-Car-Maintenance/Shared/Settings/Views/ContributorsListView.swift
+++ b/Basic-Car-Maintenance/Shared/Settings/Views/ContributorsListView.swift
@@ -2,7 +2,8 @@
 //  ContributorsListView.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Yashraj jadhav on 01/10/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import SwiftUI
diff --git a/Basic-Car-Maintenance/Shared/Settings/Views/ContributorsProfileView.swift b/Basic-Car-Maintenance/Shared/Settings/Views/ContributorsProfileView.swift
index 7b8e3d52..2839f387 100644
--- a/Basic-Car-Maintenance/Shared/Settings/Views/ContributorsProfileView.swift
+++ b/Basic-Car-Maintenance/Shared/Settings/Views/ContributorsProfileView.swift
@@ -2,7 +2,8 @@
 //  ContributorsProfileView.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Yashraj jadhav on 01/10/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import SwiftUI
diff --git a/Basic-Car-Maintenance/Shared/Settings/Views/EditVehicleView.swift b/Basic-Car-Maintenance/Shared/Settings/Views/EditVehicleView.swift
index 2e3e815d..c426523d 100644
--- a/Basic-Car-Maintenance/Shared/Settings/Views/EditVehicleView.swift
+++ b/Basic-Car-Maintenance/Shared/Settings/Views/EditVehicleView.swift
@@ -2,7 +2,8 @@
 //  EditVehicleView.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Traton Gossink on 11/6/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import SwiftUI
diff --git a/Basic-Car-Maintenance/Shared/Settings/Views/SettingsView.swift b/Basic-Car-Maintenance/Shared/Settings/Views/SettingsView.swift
index 941b6867..9f770a7d 100644
--- a/Basic-Car-Maintenance/Shared/Settings/Views/SettingsView.swift
+++ b/Basic-Car-Maintenance/Shared/Settings/Views/SettingsView.swift
@@ -2,7 +2,8 @@
 //  SettingsView.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Mikaela Caron on 8/19/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import SwiftUI
@@ -166,7 +167,7 @@ struct SettingsView: View {
                     }
                     
                     NavigationLink {
-                        ChooseAppIconView(viewModel: ChooseAppIconViewModel())
+                        ChooseAppIconView()
                     } label: {
                         Label("Change App Icon", systemImage: SFSymbol.iPhoneWithApps)
                     }
diff --git a/Basic-Car-Maintenance/Shared/Tips/ContributionTip.swift b/Basic-Car-Maintenance/Shared/Tips/ContributionTip.swift
index 44b81695..9fd52249 100644
--- a/Basic-Car-Maintenance/Shared/Tips/ContributionTip.swift
+++ b/Basic-Car-Maintenance/Shared/Tips/ContributionTip.swift
@@ -2,7 +2,8 @@
 //  ContributionTip.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Sandro Dahl on 24.10.23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import TipKit
diff --git a/Basic-Car-Maintenance/Shared/Utilities/AnalyticsService.swift b/Basic-Car-Maintenance/Shared/Utilities/AnalyticsService.swift
index 3f1400f7..253d7376 100644
--- a/Basic-Car-Maintenance/Shared/Utilities/AnalyticsService.swift
+++ b/Basic-Car-Maintenance/Shared/Utilities/AnalyticsService.swift
@@ -2,7 +2,8 @@
 //  AnalyticsService.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Mikaela Caron on 11/11/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import Foundation
diff --git a/Basic-Car-Maintenance/Shared/Utilities/Bundle+extension.swift b/Basic-Car-Maintenance/Shared/Utilities/Bundle+extension.swift
index 5aa84f36..d277ce64 100644
--- a/Basic-Car-Maintenance/Shared/Utilities/Bundle+extension.swift
+++ b/Basic-Car-Maintenance/Shared/Utilities/Bundle+extension.swift
@@ -2,7 +2,8 @@
 //  Bundle+extension.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Mikaela Caron on 8/19/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import Foundation
diff --git a/Basic-Car-Maintenance/Shared/Utilities/Constants.swift b/Basic-Car-Maintenance/Shared/Utilities/Constants.swift
index 6d9024e2..b57a8069 100644
--- a/Basic-Car-Maintenance/Shared/Utilities/Constants.swift
+++ b/Basic-Car-Maintenance/Shared/Utilities/Constants.swift
@@ -2,7 +2,8 @@
 //  Constants.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Justin Seal on 10/13/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import Foundation
diff --git a/Basic-Car-Maintenance/Shared/Utilities/FirebaseAnalytics+Extension.swift b/Basic-Car-Maintenance/Shared/Utilities/FirebaseAnalytics+Extension.swift
index 28dfb648..38b47a89 100644
--- a/Basic-Car-Maintenance/Shared/Utilities/FirebaseAnalytics+Extension.swift
+++ b/Basic-Car-Maintenance/Shared/Utilities/FirebaseAnalytics+Extension.swift
@@ -2,7 +2,8 @@
 //  FirebaseAnalytics+Extension.swift
 //  Basic-Car-Maintenance
 //
-//  Created by Jessica Linden on 10/30/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 import SwiftUI
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 1a9b028e..0bd24ee7 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -11,7 +11,7 @@ This app will be deployed on the Apple App Store, available for iOS 17.0 or late
 
 # Getting Started
 ## Prerequisites
-* Download Xcode 15.0 or later (preferred to use Xcode 16 or later)
+* Download Xcode 16.0 or later
 * Install [SwiftLint](https://github.com/realm/SwiftLint) onto your machine via [Homebrew](https://brew.sh/)
    * This is not a requirement, but is preferred.
 ```sh
@@ -73,6 +73,7 @@ We are going to set up the Firebase emulator to be able to load the data locally
 * Run the app
    * You should see your anonymous user in Authentication, and once you add new data, see it in Firestore emulator UI at: http://127.0.0.1:4000/firestore
    * If you don't see your user, delete the app from the simulator, and in the menu go to Device > Erase All Content and Settings (which resets your simulator), and try to run again
+   * If you receive the following error when you launch the emulator: _'firebase-tools no longer supports Java version before 11. Please upgrade to Java version 11 or above to continue using the emulators.'_ The openJDK install failed and you will have to install the latest JDK manually. You can download the latest version here [JDK23](https://www.oracle.com/java/technologies/downloads/#jdk23-mac)
 * **Checkout** a new branch (from the `dev` branch) to work on an issue
 * When your feature / fix is complete open a pull request, PR, from your feature branch to the `dev` branch
    * Use a descriptive PR title and fill out the entire PR template, do not delete any sections.
@@ -84,7 +85,7 @@ We are going to set up the Firebase emulator to be able to load the data locally
 ✅ **Examples of valid branch names:**
    * 8123-fix-title-of-issue (issue number)
    * 8123-feature-name (issue number)
-  
+
 ❌ **Examples of invalid branch names**:
    * username-testing
    * attemptToFixAuth
diff --git a/Configurations/Project.xcconfig b/Configurations/Project.xcconfig
index 982cbd33..f34294cc 100644
--- a/Configurations/Project.xcconfig
+++ b/Configurations/Project.xcconfig
@@ -2,7 +2,8 @@
 //  Project.xcconfig
 //  Basic-Car-Maintenance
 //
-//  Created by Mikaela Caron on 10/3/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 // Configuration settings file format documentation can be found at:
diff --git a/Configurations/UITests.xcconfig b/Configurations/UITests.xcconfig
index cda16979..f94413dd 100644
--- a/Configurations/UITests.xcconfig
+++ b/Configurations/UITests.xcconfig
@@ -2,7 +2,8 @@
 //  UITests.xcconfig
 //  Basic-Car-Maintenance
 //
-//  Created by Mikaela Caron on 10/6/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 // Configuration settings file format documentation can be found at:
diff --git a/Configurations/UnitTests.xcconfig b/Configurations/UnitTests.xcconfig
index 7f94a482..a0eadff0 100644
--- a/Configurations/UnitTests.xcconfig
+++ b/Configurations/UnitTests.xcconfig
@@ -2,7 +2,8 @@
 //  UnitTests.xcconfig
 //  Basic-Car-Maintenance
 //
-//  Created by Mikaela Caron on 10/6/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 // Configuration settings file format documentation can be found at:
diff --git a/Configurations/Widget.xcconfig b/Configurations/Widget.xcconfig
index f952f272..ffd4b8d6 100644
--- a/Configurations/Widget.xcconfig
+++ b/Configurations/Widget.xcconfig
@@ -2,7 +2,8 @@
 //  Widget.xcconfig
 //  Basic-Car-Maintenance
 //
-//  Created by Mikaela Caron on 10/6/23.
+//  https://github.com/mikaelacaron/Basic-Car-Maintenance
+//  See LICENSE for license information.
 //
 
 // Configuration settings file format documentation can be found at:
diff --git a/Gemfile.lock b/Gemfile.lock
index 450871d6..8454f5ee 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -10,7 +10,7 @@ GEM
     artifactory (3.0.17)
     atomos (0.1.3)
     aws-eventstream (1.3.0)
-    aws-partitions (1.981.0)
+    aws-partitions (1.986.0)
     aws-sdk-core (3.209.1)
       aws-eventstream (~> 1, >= 1.3.0)
       aws-partitions (~> 1, >= 1.651.0)
@@ -19,7 +19,7 @@ GEM
     aws-sdk-kms (1.94.0)
       aws-sdk-core (~> 3, >= 3.207.0)
       aws-sigv4 (~> 1.5)
-    aws-sdk-s3 (1.166.0)
+    aws-sdk-s3 (1.167.0)
       aws-sdk-core (~> 3, >= 3.207.0)
       aws-sdk-kms (~> 1)
       aws-sigv4 (~> 1.5)
@@ -38,7 +38,7 @@ GEM
     domain_name (0.6.20240107)
     dotenv (2.8.1)
     emoji_regex (3.2.3)
-    excon (0.111.0)
+    excon (0.112.0)
     faraday (1.10.4)
       faraday-em_http (~> 1.0)
       faraday-em_synchrony (~> 1.0)
@@ -68,7 +68,7 @@ GEM
     faraday_middleware (1.2.1)
       faraday (~> 1.0)
     fastimage (2.3.1)
-    fastlane (2.223.1)
+    fastlane (2.224.0)
       CFPropertyList (>= 2.3, < 4.0.0)
       addressable (>= 2.8, < 3.0.0)
       artifactory (~> 3.0)
@@ -152,7 +152,7 @@ GEM
     httpclient (2.8.3)
     jmespath (1.6.2)
     json (2.7.2)
-    jwt (2.9.1)
+    jwt (2.9.3)
       base64
     mini_magick (4.13.2)
     mini_mime (1.1.5)
@@ -196,13 +196,13 @@ GEM
     uber (0.1.0)
     unicode-display_width (2.6.0)
     word_wrap (1.0.0)
-    xcodeproj (1.25.0)
+    xcodeproj (1.25.1)
       CFPropertyList (>= 2.3.3, < 4.0)
       atomos (~> 0.1.3)
       claide (>= 1.0.2, < 2.0)
       colored2 (~> 3.1)
       nanaimo (~> 0.3.0)
-      rexml (>= 3.3.2, < 4.0)
+      rexml (>= 3.3.6, < 4.0)
     xcov (1.8.1)
       fastlane (>= 2.141.0, < 3.0.0)
       multipart-post
diff --git a/README.md b/README.md
index 62a25aa3..ea62fd6e 100644
--- a/README.md
+++ b/README.md
@@ -11,7 +11,7 @@ Welcome to my open source app! It is ready for contributors for [Hacktoberfest](
 # Getting Started
 * Read the [Code of Conduct](https://github.com/mikaelacaron/Basic-Car-Maintenance/blob/dev/CODE_OF_CONDUCT.md)
 * Read the [CONTRIBUTING.md](https://github.com/mikaelacaron/Basic-Car-Maintenance/blob/dev/CONTRIBUTING.md) guidelines
-* Download Xcode 15 or later (preferred to use Xcode 16 or later)
+* Download Xcode 16.0 or later
 * Browse the open [issues](https://github.com/mikaelacaron/Basic-Car-Maintenance/issues) and **comment** which you would like to work on
    * It is only one person per issue, except where noted.
 * **Fork** this repo
diff --git a/fastlane/Fastfile b/fastlane/Fastfile
index 413af45e..3b456ffc 100644
--- a/fastlane/Fastfile
+++ b/fastlane/Fastfile
@@ -31,21 +31,12 @@ platform :ios do
   		run_tests(
 			scheme: "Basic-Car-Maintenance",
 			only_testing: "Basic-Car-Maintenance-Tests",
-			clean: true,
-			code_coverage: true,
-			device: "iPhone 15 Pro",
+			device: "iPhone 16 Pro",
 			skip_build: true,
 			xcodebuild_formatter: 'xcbeautify -qq --is-ci --renderer github-actions',
 			output_types: 'junit',
 			output_directory: "./fastlane/UnitTestsReport"
 		)
-
-		xcov(
-			scheme: "Basic-Car-Maintenance",
-			only_project_targets: true,
-			output_directory: "./fastlane/CodeCoverageReport"
-			#minimum_coverage_percentage: 80.0
-  		)
 	end
 
 end
diff --git a/fastlane/enable-build-tool-plugins.json b/fastlane/enable-build-tool-plugins.json
new file mode 100644
index 00000000..738e40d1
--- /dev/null
+++ b/fastlane/enable-build-tool-plugins.json
@@ -0,0 +1,12 @@
+[
+  {
+    "fingerprint" : "f17a4f9dfb6a6afb0408426354e4180daaf49cee",
+    "packageIdentity" : "swiftlint",
+    "targetName" : "SwiftLintPlugin"
+  },
+  {
+    "fingerprint" : "7c80ce6f142164b0201871e580b021d1b2c69804",
+    "packageIdentity" : "swiftlintplugins",
+    "targetName" : "SwiftLintBuildToolPlugin"
+  }
+]
\ No newline at end of file