diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index da219999..784d704e 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -5,11 +5,12 @@ on:
 
 jobs:
   test:
-    name: run tests with code coverage
+    name: run tests
     runs-on: ubuntu-latest
     strategy:
       matrix:
         go:
+          - "1.21"
           - "1.20"
           - "1.19"
           - "1.18"
@@ -24,12 +25,43 @@ jobs:
         uses: actions/setup-go@v3
         with:
           go-version: ${{ matrix.go }}
-      
+
       - run: go version
 
       - name: install lambda runtime interface emulator
         run: curl -L -o /usr/local/bin/aws-lambda-rie https://github.com/aws/aws-lambda-runtime-interface-emulator/releases/latest/download/aws-lambda-rie-x86_64
-      - run: chmod +x /usr/local/bin/aws-lambda-rie 
+      - run: chmod +x /usr/local/bin/aws-lambda-rie
+
+      - name: Check out code into the Go module directory
+        uses: actions/checkout@v3
+
+      - name: Edit the go.mod file to allow tests to run for versions of go before 1.16
+        run: >
+          if [[ ${{ matrix.go }} < "1.16" ]]; then 
+            sed -i.bak 's/^.*retract.*$//' go.mod
+          else
+            echo "no edit required"
+          fi
+
+      - name: go test
+        run: go test -v -race ./...
+
+  coverage:
+    name: run tests with coverage
+    runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        go:
+          - "1.21"
+    steps:
+      - name: Set up Go ${{ matrix.go }}
+        uses: actions/setup-go@v3
+        with:
+          go-version: ${{ matrix.go }}
+
+      - name: install lambda runtime interface emulator
+        run: curl -L -o /usr/local/bin/aws-lambda-rie https://github.com/aws/aws-lambda-runtime-interface-emulator/releases/latest/download/aws-lambda-rie-x86_64
+      - run: chmod +x /usr/local/bin/aws-lambda-rie
 
       - name: Check out code into the Go module directory
         uses: actions/checkout@v3
diff --git a/go.mod b/go.mod
index 456a8a6e..81f4d599 100644
--- a/go.mod
+++ b/go.mod
@@ -9,3 +9,5 @@ require (
 	github.com/pmezard/go-difflib v1.0.0 // indirect
 	gopkg.in/yaml.v3 v3.0.1 // indirect
 )
+
+retract v1.39.0