diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml
deleted file mode 100644
index fab5888ee..000000000
--- a/.github/workflows/CI.yml
+++ /dev/null
@@ -1,52 +0,0 @@
-name: CI
-on:
-  pull_request:
-    branches:
-      - master
-    paths-ignore:
-      - 'docs/**'
-  push:
-    branches:
-      - master
-    paths-ignore:
-      - 'docs/**'
-jobs:
-  test:
-    runs-on: ubuntu-latest
-    strategy:
-      fail-fast: false
-      matrix:
-        group:
-          - Core
-          - DataDrivenDMD
-          - DataDrivenSR
-          - DataDrivenSparse
-          - DataDrivenLux
-        version:
-          - '1'
-    steps:
-      - uses: actions/checkout@v4
-      - uses: julia-actions/setup-julia@v2
-        with:
-          version: ${{ matrix.version }}
-      - uses: actions/cache@v4
-        env:
-          cache-name: cache-artifacts
-        with:
-          path: ~/.julia/artifacts
-          key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
-          restore-keys: |
-            ${{ runner.os }}-test-${{ env.cache-name }}-
-            ${{ runner.os }}-test-
-            ${{ runner.os }}-
-      - uses: julia-actions/julia-buildpkg@v1
-      - uses: julia-actions/julia-runtest@v1
-        env:
-          GROUP: ${{ matrix.group }}
-      - uses: julia-actions/julia-processcoverage@v1
-        with:
-          directories: src,lib/DataDrivenDMD/src,lib/DataDrivenSparse/src,lib/DataDrivenSR/src,lib/DataDrivenLux/src
-      - uses: codecov/codecov-action@v3
-        with:
-          files: lcov.info
-          flags: ${{ matrix.group }}
diff --git a/.github/workflows/FormatCheck.yml b/.github/workflows/FormatCheck.yml
index c240796cc..6185015c4 100644
--- a/.github/workflows/FormatCheck.yml
+++ b/.github/workflows/FormatCheck.yml
@@ -10,4 +10,4 @@ on:
 jobs:
   format-check:
     name: "Format Check"
-    uses: "SciML/.github/.github/workflows/format-check.yml@v1"
+    uses: "SciML/.github/.github/workflows/format-suggestions-on-pr.yml@v1"
diff --git a/.github/workflows/Tests.yml b/.github/workflows/Tests.yml
new file mode 100644
index 000000000..c299e8c30
--- /dev/null
+++ b/.github/workflows/Tests.yml
@@ -0,0 +1,35 @@
+name: "Tests"
+
+on:
+  pull_request:
+    branches:
+      - master
+    paths-ignore:
+      - 'docs/**'
+  push:
+    branches:
+      - master
+    paths-ignore:
+      - 'docs/**'
+
+concurrency:
+  group: ${{ github.workflow }}-${{ github.ref }}
+  cancel-in-progress: ${{ github.ref_name != github.event.repository.default_branch || github.ref != 'refs/tags/v*' }}
+
+jobs:
+  tests:
+    name: "Tests"
+    strategy:
+      fail-fast: false
+      matrix:
+        group:
+          - Core
+          - DataDrivenDMD
+          - DataDrivenSR
+          - DataDrivenSparse
+          - DataDrivenLux
+    uses: "SciML/.github/.github/workflows/tests.yml@v1"
+    with:
+      group: "${{ matrix.group }}"
+      coverage-directories: "src, lib/DataDrivenDMD/src, lib/DataDrivenSparse/src, lib/DataDrivenSR/src, lib/DataDrivenLux/src"
+    secrets: "inherit"
diff --git a/src/problem/type.jl b/src/problem/type.jl
index 75195caf5..764da1f5f 100644
--- a/src/problem/type.jl
+++ b/src/problem/type.jl
@@ -334,13 +334,13 @@ function Base.getindex(p::AbstractDataDrivenProblem, i = :, j = :)
 end
 
 function (b::Basis{<:Any, <:Any})(p::AbstractDataDrivenProblem{<:Any, <:Any, <:Any})
-    @unpack f = b
+    f = getfield(b, :f)
     _apply_vec_function(f, get_implicit_data(p), get_oop_args(p)...)
 end
 
 function (b::Basis{<:Any, <:Any})(res::AbstractMatrix,
         p::AbstractDataDrivenProblem{<:Any, <:Any, <:Any})
-    @unpack f = b
+    f = getfield(b, :f)
     _apply_vec_function!(f, res, get_implicit_data(p), get_oop_args(p)...)
 end