diff --git a/geomagio/Controller.py b/geomagio/Controller.py
index 486ae145b8873193264967cd71c0cb97b9862c84..1b7fe683e4c19aee3a987d34441333ffa53d1d2c 100644
--- a/geomagio/Controller.py
+++ b/geomagio/Controller.py
@@ -7,9 +7,6 @@ from typing import List, Optional, Tuple, Union
 
 from obspy.core import Stream, UTCDateTime
 
-from geomagio.api.covjson.CovJSONFactory import CovJSONFactory
-
-
 from .algorithm import Algorithm, algorithms, AlgorithmException, FilterAlgorithm
 from .DerivedTimeseriesFactory import DerivedTimeseriesFactory
 from .PlotTimeseriesFactory import PlotTimeseriesFactory
@@ -27,7 +24,7 @@ from . import imfv283
 from . import temperature
 from . import vbf
 from . import xml
-
+from . import covjson
 
 class Controller(object):
     """Controller for geomag algorithms.
@@ -566,7 +563,7 @@ def get_input_factory(args):
         elif input_type == "xml":
             input_factory = xml.XMLFactory(**input_factory_args)
         elif input_type == "covjson":
-            input_factory = CovJSONFactory(**input_factory_args)
+            input_factory = covjson.CovJSONFactory(**input_factory_args)
         # wrap stream
         if input_stream is not None:
             input_factory = StreamTimeseriesFactory(
@@ -637,7 +634,7 @@ def get_output_factory(args):
         elif output_type == "imfjson":
             output_factory = imfjson.IMFJSONFactory(**output_factory_args)
         elif output_type == "covjson":
-            output_factory = CovJSONFactory(**output_factory_args)
+            output_factory = covjson.CovJSONFactory(**output_factory_args)
         elif output_type == "pcdcp":
             output_factory = pcdcp.PCDCPFactory(**output_factory_args)
         elif output_type == "temperature":