diff --git a/code.json b/code.json
index fe72c15a40a4f6e536795726e72f68e73a8deca1..f7ea8ea37a6217fe3282e179291740fc94cad585 100644
--- a/code.json
+++ b/code.json
@@ -3,7 +3,7 @@
     "name": "geomag-algorithms",
     "organization": "U.S. Geological Survey",
     "description": "Library for processing Geomagnetic timeseries data.",
-    "version": "1.4.0",
+    "version": "1.4.1",
     "status": "Development",
 
     "permissions": {
diff --git a/pyproject.toml b/pyproject.toml
index a404d487e25cd300d19e2a1f4ce6c0a6c699d78e..7849afdf077e3490657e1f5aed8860e98f283e40 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -17,7 +17,7 @@ packages = [
   {include = "geomagio" }
 ]
 repository="https://code.usgs.gov/ghsc/geomag/geomag-algorithms"
-version = "1.4.0"
+version = "1.4.1"
 
 
 [tool.poetry.dependencies]
diff --git a/test/DerivedTimeseriesFactory_test.py b/test/DerivedTimeseriesFactory_test.py
index 5a8eeaea982c60468429e3b195c91b5df091e439..debb0b213fa3b747e15e9f51b5540738cb5a9508 100644
--- a/test/DerivedTimeseriesFactory_test.py
+++ b/test/DerivedTimeseriesFactory_test.py
@@ -2,8 +2,9 @@ from typing import List
 
 from obspy import Stream
 
-from geomagio import DerivedTimeseriesFactory, TimeseriesUtility
+from geomagio import TimeseriesUtility
 from geomagio.algorithm import Algorithm, DeltaFAlgorithm, XYZAlgorithm
+from geomagio.DerivedTimeseriesFactory import DerivedTimeseriesFactory, get_missing
 from geomagio.iaga2002 import StreamIAGA2002Factory
 from geomagio.edge import EdgeFactory
 
@@ -91,6 +92,17 @@ def test_get_timeseries():
     assert set(TimeseriesUtility.get_channels(timeseries)) == set(["H", "D"])
 
 
+def test_get_missing():
+    """test.DerivedTimeseriesFactory_test.test_get_missing()"""
+    desired = ["X", "Y", "D", "G"]
+    assert set(get_missing(input=Stream(), desired=desired)) == set(desired)
+    desired = ["H", "E", "Z", "F"]
+    timeseries = get_derived_timeseries(
+        "etc/filter/BOU20200101vsec.sec", desired, "variation", "second"
+    )
+    assert get_missing(input=timeseries, desired=desired) == []
+
+
 def get_derived_timeseries(
     url: str, channels: List[str], data_type: str, interval: str
 ) -> Stream: