diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 267151b5b32194a5a63e63f31e28179d0a6c1bea..a252257727a34f6f84c5b90d1befdabd73394249 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -31,12 +31,12 @@ test wheel installation:
     - apt-get remove -y git
     - pip3 install --upgrade pip
   script:
-    - pip3 install `ls dist/OpenQlab*.whl`
-    - python3 -c "import OpenQlab; print(OpenQlab.__path__)"
-    - python3 -c "import OpenQlab; print(OpenQlab.__version__)"
-    - python3 -c "from OpenQlab import *; dc = io.DataContainer()"
+    - pip3 install `ls dist/openqlab*.whl`
+    - python3 -c "import openqlab; print(openqlab.__path__)"
+    - python3 -c "import openqlab; print(openqlab.__version__)"
+    - python3 -c "from openqlab import *; dc = io.DataContainer()"
   cache:
-    key: OpenQlab:pip
+    key: openqlab:pip
     paths:
       - .pip/
 
@@ -47,7 +47,7 @@ test:
   script:
     - make mypy
     - make test
-    #- PYTHONPATH=`pwd`/src python3 -c 'from OpenQlab import io; assert "ASCII" in io.known_importers(), "Unable to detect the importers!"'
+    #- PYTHONPATH=`pwd`/src python3 -c 'from openqlab import io; assert "ASCII" in io.known_importers(), "Unable to detect the importers!"'
   artifacts:
     paths:
       - src/tests/htmlcov
diff --git a/Makefile b/Makefile
index 5e42e19a676768263175407b9a6cda3b0ca8b209..b5b569e89f46bc52badacd39793c4ed5692b14e0 100644
--- a/Makefile
+++ b/Makefile
@@ -22,7 +22,7 @@ mypy:
 	@export PYTHONPATH=`pwd`/src:$(PYTHONPATH); mypy src
 
 pylint:
-	@export PYTHONPATH=`pwd`/src:$(PYTHONPATH); pylint --exit-zero --disable=C src/OpenQlab
+	@export PYTHONPATH=`pwd`/src:$(PYTHONPATH); pylint --exit-zero --disable=C src/openqlab
 
 all-tests: mypy test pylint
 
diff --git a/doc/conf.py b/doc/conf.py
index 36db9aba1db1ad24cd7a96ad9deb9533d9d23257..f2950d8ff52d56058cb77af97310590c2460e270 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -4,7 +4,7 @@ import sys
 from recommonmark.parser import CommonMarkParser
 from recommonmark.transform import AutoStructify
 
-# OpenQlab documentation build configuration file, created by
+# openqlab documentation build configuration file, created by
 # sphinx-quickstart on Thu Jun  1 10:08:39 2017.
 #
 # This file is execfile()d with the current directory set to its
@@ -59,7 +59,7 @@ source_suffix = ['.rst', '.md']
 master_doc = 'index'
 
 # General information about the project.
-project = u'OpenQlab'
+project = u'openqlab'
 copyright = u'2017, LasNQ @ Uni Hamburg'
 author = u'LasNQ @ Uni Hamburg'
 
@@ -67,12 +67,12 @@ author = u'LasNQ @ Uni Hamburg'
 # |version| and |release|, also used in various other places throughout the
 # built documents.
 #
-import OpenQlab
+import openqlab
 
 # The short X.Y version.
-version = OpenQlab.__version__
+version = openqlab.__version__
 # The full version, including alpha/beta/rc tags.
-release = OpenQlab.__version__
+release = openqlab.__version__
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
@@ -146,7 +146,7 @@ latex_elements = {
 # (source start file, target name, title,
 #  author, documentclass [howto, manual, or own class]).
 latex_documents = [
-    (master_doc, 'openqlab.tex', u'OpenQlab Documentation',
+    (master_doc, 'openqlab.tex', u'openqlab Documentation',
      u'LasNQ group', 'manual'),
 ]
 
@@ -155,7 +155,7 @@ latex_documents = [
 # One entry per manual page. List of tuples
 # (source start file, name, description, authors, manual section).
 man_pages = [
-    (master_doc, 'openqlab.tex', u'OpenQlab Documentation',
+    (master_doc, 'openqlab.tex', u'openqlab Documentation',
      [author], 1)
 ]
 
@@ -165,8 +165,8 @@ man_pages = [
 # (source start file, target name, title, author,
 #  dir menu entry, description, category)
 texinfo_documents = [
-    (master_doc, 'openqlab.tex', u'OpenQlab Documentation',
-     author, 'OpenQlab', 'Open source lab toolbox for quantum optical experiments.',
+    (master_doc, 'openqlab.tex', u'openqlab Documentation',
+     author, 'openqlab', 'Open source lab toolbox for quantum optical experiments.',
      'Miscellaneous'),
 ]
 
diff --git a/doc/servodesign.rst b/doc/servodesign.rst
index 1d309e29db12c868307203398292ddee700833ae..eb539141b7a4d9b0eac4e31e3a0028fe467259ce 100644
--- a/doc/servodesign.rst
+++ b/doc/servodesign.rst
@@ -3,6 +3,40 @@ Servo Design
 
 :mod:`OpenQlab` helps with designing a standard servo circuit. Here's an example:
 
+    >>> %pylab notebook
+    >>> from openqlab.analysis import servo_design
+    >>> S = servo_design.ServoDesign()
+    >>> S.integrator(1e3).notch(22e3, 100).lowpass(10e3, Q=1.0).gain(10)
+                        zeros                      poles                                  gain
+    ------------------  -------------------------  ----------------------------------  -------
+    Gain                []                         []                                  3.16228
+    Int 1kHz            [-1000.]                   [-1.]                                1
+    Notch 22kHz, Q=100  [ 0.+22000.j -0.-22000.j]  [-110.+21999.725j -110.-21999.725j]  1
+    LP2 10kHz, Q=1      []                         [-5000.+8660.254j -5000.-8660.254j]  1e+08
+
+As you can see, the servo keeps track of the individual filters that are added,
+labelling them with a shorthand notation. It also displays poles, zeros and gain
+for the individual filters, but you can just ignore that if you don't know what
+that means. A list of available filters can be found on the
+
+
+    >>> %pylab notebook
+    >>> from openqlab.analysis import servo_design
+    >>> S = servo_design.ServoDesign()
+    >>> S.integrator(1e3).notch(22e3, 100).lowpass(10e3, Q=1.0).gain(10)
+                        zeros                      poles                                  gain
+    ------------------  -------------------------  ----------------------------------  -------
+    Gain                []                         []                                  3.16228
+    Int 1kHz            [-1000.]                   [-1.]                                1
+    Notch 22kHz, Q=100  [ 0.+22000.j -0.-22000.j]  [-110.+21999.725j -110.-21999.725j]  1
+    LP2 10kHz, Q=1      []                         [-5000.+8660.254j -5000.-8660.254j]  1e+08
+
+As you can see, the servo keeps track of the individual filters that are added,
+labelling them with a shorthand notation. It also displays poles, zeros and gain
+for the individual filters, but you can just ignore that if you don't know what
+that means. A list of available filters can be found on the
+
+
     >>> %pylab notebook
     >>> from OpenQlab.analysis import servo_design
     >>> S = servo_design.ServoDesign()
diff --git a/setup.cfg b/setup.cfg
index 0636631099879f837ee7d9042024b9c959c1f51c..509693276ffd27b9c1a4718290dc9e8956a841af 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -36,7 +36,7 @@ exclude =
 
 [options.extras_require]
 # Add here additional requirements for extra features, to install with:
-# `pip install OpenQlab[PDF]` like:
+# `pip install openqlab[PDF]` like:
 # PDF = ReportLab; RXP
 
 [test]
diff --git a/src/OpenQlab/__init__.py b/src/openqlab/__init__.py
similarity index 87%
rename from src/OpenQlab/__init__.py
rename to src/openqlab/__init__.py
index 622045b88c27aa77a12d0f8193ed413ff7fc886d..7379ec87c228ccf4e72593575cad9829e86e8499 100644
--- a/src/OpenQlab/__init__.py
+++ b/src/openqlab/__init__.py
@@ -10,6 +10,6 @@ except DistributionNotFound:
 __all__ = ['analysis', 'io', 'plots', 'conversion']
 
 try:
-    from OpenQlab.io.data_container import DataContainer
+    from openqlab.io.data_container import DataContainer
 except ImportError:
     print('Unable to import DataContainer')
diff --git a/src/OpenQlab/analysis/__init__.py b/src/openqlab/analysis/__init__.py
similarity index 100%
rename from src/OpenQlab/analysis/__init__.py
rename to src/openqlab/analysis/__init__.py
diff --git a/src/OpenQlab/analysis/gaussian_beam.py b/src/openqlab/analysis/gaussian_beam.py
similarity index 100%
rename from src/OpenQlab/analysis/gaussian_beam.py
rename to src/openqlab/analysis/gaussian_beam.py
diff --git a/src/OpenQlab/analysis/phase.py b/src/openqlab/analysis/phase.py
similarity index 100%
rename from src/OpenQlab/analysis/phase.py
rename to src/openqlab/analysis/phase.py
diff --git a/src/OpenQlab/analysis/servo_design.py b/src/openqlab/analysis/servo_design.py
similarity index 99%
rename from src/OpenQlab/analysis/servo_design.py
rename to src/openqlab/analysis/servo_design.py
index d1cc2495a1af5b41289a4d2636d35f53bf002a64..d72b7e1b9b9cfa60bd7c8e75bf58216004f8e97c 100644
--- a/src/OpenQlab/analysis/servo_design.py
+++ b/src/openqlab/analysis/servo_design.py
@@ -1,4 +1,4 @@
-""":obj:`OpenQlab.ServoDesign` helps with designing a standard servo circuit."""
+""":obj:`openqlab.ServoDesign` helps with designing a standard servo circuit."""
 from abc import ABC, abstractmethod
 import numpy as np
 import pandas as pd
diff --git a/src/OpenQlab/conversion/__init__.py b/src/openqlab/conversion/__init__.py
similarity index 100%
rename from src/OpenQlab/conversion/__init__.py
rename to src/openqlab/conversion/__init__.py
diff --git a/src/OpenQlab/conversion/db.py b/src/openqlab/conversion/db.py
similarity index 100%
rename from src/OpenQlab/conversion/db.py
rename to src/openqlab/conversion/db.py
diff --git a/src/OpenQlab/conversion/utils.py b/src/openqlab/conversion/utils.py
similarity index 100%
rename from src/OpenQlab/conversion/utils.py
rename to src/openqlab/conversion/utils.py
diff --git a/src/OpenQlab/conversion/wavelength.py b/src/openqlab/conversion/wavelength.py
similarity index 100%
rename from src/OpenQlab/conversion/wavelength.py
rename to src/openqlab/conversion/wavelength.py
diff --git a/src/OpenQlab/io/__init__.py b/src/openqlab/io/__init__.py
similarity index 94%
rename from src/OpenQlab/io/__init__.py
rename to src/openqlab/io/__init__.py
index bdc7d7dc8c9bccdf2c91e2f768e290455b5504d6..7935a1b5e70f04faa1a3ea86835691bf230b9c31 100644
--- a/src/OpenQlab/io/__init__.py
+++ b/src/openqlab/io/__init__.py
@@ -2,11 +2,11 @@ from typing import Dict, Union, List, cast, BinaryIO, TextIO
 import logging as log
 import warnings
 from io import StringIO
-from OpenQlab.io.data_container import DataContainer
-from OpenQlab.io.importers import utils
-from OpenQlab.io.base_importer import BaseImporter, StreamImporter
+from openqlab.io.data_container import DataContainer
+from openqlab.io.importers import utils
+from openqlab.io.base_importer import BaseImporter, StreamImporter
 from pathlib import Path
-from OpenQlab.io.importers.ascii_header import ASCII_Header
+from openqlab.io.importers.ascii_header import ASCII_Header
 
 
 class UndefinedImporter(Exception):
@@ -61,7 +61,7 @@ def read(files: Union[str, TextIO, Path, List[Union[str, TextIO, Path]]],
             Use the `type` keyword to explicitly specify an importer.
 
     Returns:
-        OpenQlab.io.DataContainer:
+        openqlab.io.DataContainer:
         a DataContainer containing the imported data with header information if available.
         The index of the data frame will be set to a natural x-axis, e.g. frequency or
         time.
diff --git a/src/OpenQlab/io/base_importer.py b/src/openqlab/io/base_importer.py
similarity index 98%
rename from src/OpenQlab/io/base_importer.py
rename to src/openqlab/io/base_importer.py
index b885f0711232ffd3390eabd437ee591f0d43adc8..6945ada92fadbc31e028345efd7b45c546cd9833 100644
--- a/src/OpenQlab/io/base_importer.py
+++ b/src/openqlab/io/base_importer.py
@@ -6,8 +6,8 @@ import io
 from typing import Union, List, IO, BinaryIO, TextIO, cast, Tuple, Dict, Optional, Callable, Any, AnyStr
 import logging as log
 from re import match
-from OpenQlab.io.data_container import DataContainer
-from OpenQlab.io.importers import utils
+from openqlab.io.data_container import DataContainer
+from openqlab.io.importers import utils
 from pathlib import Path
 
 abstract_class_attribute = property(abstractmethod(lambda *args: None))
diff --git a/src/OpenQlab/io/data_container.py b/src/openqlab/io/data_container.py
similarity index 100%
rename from src/OpenQlab/io/data_container.py
rename to src/openqlab/io/data_container.py
diff --git a/src/OpenQlab/io/importers/OldImporters/__init__.py b/src/openqlab/io/importers/OldImporters/__init__.py
similarity index 100%
rename from src/OpenQlab/io/importers/OldImporters/__init__.py
rename to src/openqlab/io/importers/OldImporters/__init__.py
diff --git a/src/OpenQlab/io/importers/OldImporters/agilent.py b/src/openqlab/io/importers/OldImporters/agilent.py
similarity index 99%
rename from src/OpenQlab/io/importers/OldImporters/agilent.py
rename to src/openqlab/io/importers/OldImporters/agilent.py
index 2ad32736364ed37abc91e734bd02ddb9e54b3311..82b6c0cb52ba296ef478b1daf8997dc5c8224428 100644
--- a/src/OpenQlab/io/importers/OldImporters/agilent.py
+++ b/src/openqlab/io/importers/OldImporters/agilent.py
@@ -1,4 +1,4 @@
-from OpenQlab.io.importers import utils
+from openqlab.io.importers import utils
 
 try:
     import numpy as np
diff --git a/src/OpenQlab/io/importers/OldImporters/entanglement_hdf5.py b/src/openqlab/io/importers/OldImporters/entanglement_hdf5.py
similarity index 100%
rename from src/OpenQlab/io/importers/OldImporters/entanglement_hdf5.py
rename to src/openqlab/io/importers/OldImporters/entanglement_hdf5.py
diff --git a/src/OpenQlab/io/importers/OldImporters/labview.py b/src/openqlab/io/importers/OldImporters/labview.py
similarity index 100%
rename from src/OpenQlab/io/importers/OldImporters/labview.py
rename to src/openqlab/io/importers/OldImporters/labview.py
diff --git a/src/OpenQlab/io/importers/__init__.py b/src/openqlab/io/importers/__init__.py
similarity index 100%
rename from src/OpenQlab/io/importers/__init__.py
rename to src/openqlab/io/importers/__init__.py
diff --git a/src/OpenQlab/io/importers/ascii.py b/src/openqlab/io/importers/ascii.py
similarity index 100%
rename from src/OpenQlab/io/importers/ascii.py
rename to src/openqlab/io/importers/ascii.py
diff --git a/src/OpenQlab/io/importers/ascii_header.py b/src/openqlab/io/importers/ascii_header.py
similarity index 100%
rename from src/OpenQlab/io/importers/ascii_header.py
rename to src/openqlab/io/importers/ascii_header.py
diff --git a/src/OpenQlab/io/importers/data_container_csv.py b/src/openqlab/io/importers/data_container_csv.py
similarity index 100%
rename from src/OpenQlab/io/importers/data_container_csv.py
rename to src/openqlab/io/importers/data_container_csv.py
diff --git a/src/OpenQlab/io/importers/gwinstek.py b/src/openqlab/io/importers/gwinstek.py
similarity index 100%
rename from src/OpenQlab/io/importers/gwinstek.py
rename to src/openqlab/io/importers/gwinstek.py
diff --git a/src/OpenQlab/io/importers/gwinstek_lsf.py b/src/openqlab/io/importers/gwinstek_lsf.py
similarity index 100%
rename from src/OpenQlab/io/importers/gwinstek_lsf.py
rename to src/openqlab/io/importers/gwinstek_lsf.py
diff --git a/src/OpenQlab/io/importers/hp4395a.py b/src/openqlab/io/importers/hp4395a.py
similarity index 100%
rename from src/OpenQlab/io/importers/hp4395a.py
rename to src/openqlab/io/importers/hp4395a.py
diff --git a/src/OpenQlab/io/importers/hp4395a_gpib.py b/src/openqlab/io/importers/hp4395a_gpib.py
similarity index 100%
rename from src/OpenQlab/io/importers/hp4395a_gpib.py
rename to src/openqlab/io/importers/hp4395a_gpib.py
diff --git a/src/OpenQlab/io/importers/keysight_binary.py b/src/openqlab/io/importers/keysight_binary.py
similarity index 100%
rename from src/OpenQlab/io/importers/keysight_binary.py
rename to src/openqlab/io/importers/keysight_binary.py
diff --git a/src/OpenQlab/io/importers/keysight_csv.py b/src/openqlab/io/importers/keysight_csv.py
similarity index 100%
rename from src/OpenQlab/io/importers/keysight_csv.py
rename to src/openqlab/io/importers/keysight_csv.py
diff --git a/src/OpenQlab/io/importers/keysight_fra.py b/src/openqlab/io/importers/keysight_fra.py
similarity index 100%
rename from src/OpenQlab/io/importers/keysight_fra.py
rename to src/openqlab/io/importers/keysight_fra.py
diff --git a/src/OpenQlab/io/importers/rhode_schwarz.py b/src/openqlab/io/importers/rhode_schwarz.py
similarity index 95%
rename from src/OpenQlab/io/importers/rhode_schwarz.py
rename to src/openqlab/io/importers/rhode_schwarz.py
index 3b8e0bd75ad0f439c154f1a450badc44eba64c8b..d20db3b09ebd2316074e3b08d028b4f22c6954e5 100644
--- a/src/OpenQlab/io/importers/rhode_schwarz.py
+++ b/src/openqlab/io/importers/rhode_schwarz.py
@@ -2,9 +2,9 @@ import re
 import numpy as np
 import pandas as pd
 from io import StringIO
-from OpenQlab.io.importers import utils
-from OpenQlab.io.base_importer import StreamImporter
-from OpenQlab.io.data_container import DataContainer
+from openqlab.io.importers import utils
+from openqlab.io.base_importer import StreamImporter
+from openqlab.io.data_container import DataContainer
 
 
 class RhodeSchwarz(StreamImporter):
diff --git a/src/OpenQlab/io/importers/tektronix.py b/src/openqlab/io/importers/tektronix.py
similarity index 94%
rename from src/OpenQlab/io/importers/tektronix.py
rename to src/openqlab/io/importers/tektronix.py
index 1c8f30bfa9e1261aa0693b0a443a11d6c967d7d2..5000b8ae623d8a3174dfbe1bca1b1b714a636263 100644
--- a/src/OpenQlab/io/importers/tektronix.py
+++ b/src/openqlab/io/importers/tektronix.py
@@ -1,8 +1,8 @@
 import pandas as pd
 import numpy as np
-from OpenQlab.io.importers import utils
-from OpenQlab.io.base_importer import StreamImporter
-from OpenQlab.io.data_container import DataContainer
+from openqlab.io.importers import utils
+from openqlab.io.base_importer import StreamImporter
+from openqlab.io.data_container import DataContainer
 
 
 class Tektronix(StreamImporter):
diff --git a/src/OpenQlab/io/importers/tektronix_dpx.py b/src/openqlab/io/importers/tektronix_dpx.py
similarity index 91%
rename from src/OpenQlab/io/importers/tektronix_dpx.py
rename to src/openqlab/io/importers/tektronix_dpx.py
index 5dd984e34341c2d3f9488629d7a38c718a1b7a43..b54e5a16f091869d14a1a087cb5fc0f307ed1cf1 100644
--- a/src/OpenQlab/io/importers/tektronix_dpx.py
+++ b/src/openqlab/io/importers/tektronix_dpx.py
@@ -1,4 +1,4 @@
-from OpenQlab.io.importers.tektronix import Tektronix
+from openqlab.io.importers.tektronix import Tektronix
 
 
 class TektronixDPX(Tektronix):
diff --git a/src/OpenQlab/io/importers/tektronix_spectrogram.py b/src/openqlab/io/importers/tektronix_spectrogram.py
similarity index 94%
rename from src/OpenQlab/io/importers/tektronix_spectrogram.py
rename to src/openqlab/io/importers/tektronix_spectrogram.py
index 0ce985af61c00132aa909ea36a5cb479265294d3..3d1eb31fcbb1171e16f62a118976d1ac56ddd780 100644
--- a/src/OpenQlab/io/importers/tektronix_spectrogram.py
+++ b/src/openqlab/io/importers/tektronix_spectrogram.py
@@ -1,6 +1,6 @@
-from OpenQlab.io.base_importer import StreamImporter
-from OpenQlab.io.data_container import DataContainer
-from OpenQlab.io.importers import utils
+from openqlab.io.base_importer import StreamImporter
+from openqlab.io.data_container import DataContainer
+from openqlab.io.importers import utils
 from scipy.io import loadmat
 import xml.etree.ElementTree as ET
 import numpy as np
diff --git a/src/OpenQlab/io/importers/utils.py b/src/openqlab/io/importers/utils.py
similarity index 100%
rename from src/OpenQlab/io/importers/utils.py
rename to src/openqlab/io/importers/utils.py
diff --git a/src/OpenQlab/plots/OpenQlab.mplstyle b/src/openqlab/plots/OpenQlab.mplstyle
similarity index 100%
rename from src/OpenQlab/plots/OpenQlab.mplstyle
rename to src/openqlab/plots/OpenQlab.mplstyle
diff --git a/src/OpenQlab/plots/__init__.py b/src/openqlab/plots/__init__.py
similarity index 100%
rename from src/OpenQlab/plots/__init__.py
rename to src/openqlab/plots/__init__.py
diff --git a/src/OpenQlab/plots/frequency_domain.py b/src/openqlab/plots/frequency_domain.py
similarity index 100%
rename from src/OpenQlab/plots/frequency_domain.py
rename to src/openqlab/plots/frequency_domain.py
diff --git a/src/OpenQlab/plots/gaussian_beam.py b/src/openqlab/plots/gaussian_beam.py
similarity index 100%
rename from src/OpenQlab/plots/gaussian_beam.py
rename to src/openqlab/plots/gaussian_beam.py
diff --git a/src/OpenQlab/plots/time_domain.py b/src/openqlab/plots/time_domain.py
similarity index 98%
rename from src/OpenQlab/plots/time_domain.py
rename to src/openqlab/plots/time_domain.py
index 5270f24e61bcb739049a09fe4b5078c2cbddf2fa..e2f6af4539ea51868cdc36d015c042c850b4a2ee 100644
--- a/src/OpenQlab/plots/time_domain.py
+++ b/src/openqlab/plots/time_domain.py
@@ -1,5 +1,5 @@
-from OpenQlab.conversion import db
-from OpenQlab.io import DataContainer
+from openqlab.conversion import db
+from openqlab.io import DataContainer
 import numpy as np
 import matplotlib.pyplot as plt
 import re
diff --git a/src/tests/test_data_container/test_data_container.py b/src/tests/test_data_container/test_data_container.py
index 0e92f95632c8c80351e04c18c08a539bf480675f..d631c6101049b75bb007d7e5ff885e4a89a83fa2 100644
--- a/src/tests/test_data_container/test_data_container.py
+++ b/src/tests/test_data_container/test_data_container.py
@@ -1,9 +1,9 @@
 import unittest
 from copy import deepcopy
 import numpy as np
-from OpenQlab import io
-from OpenQlab.io.data_container import DataContainer
-from OpenQlab.io.data_container import MetaDataContainer
+from openqlab import io
+from openqlab.io.data_container import DataContainer
+from openqlab.io.data_container import MetaDataContainer
 import pandas as pd
 
 
diff --git a/src/tests/test_importers/test_ascii_header/test_ascii_header.py b/src/tests/test_importers/test_ascii_header/test_ascii_header.py
index e2982bb34577bb5f37ad31794e96dac9d5c5cfaa..215125dce43102c78b6d37f4ce9e427668e5f1ad 100644
--- a/src/tests/test_importers/test_ascii_header/test_ascii_header.py
+++ b/src/tests/test_importers/test_ascii_header/test_ascii_header.py
@@ -1,7 +1,7 @@
 import unittest
-from OpenQlab.io.importers.ascii_header import ASCII_Header
-from OpenQlab.io.data_container import DataContainer
-from OpenQlab.io.importers.utils import UnknownFileType
+from openqlab.io.importers.ascii_header import ASCII_Header
+from openqlab.io.data_container import DataContainer
+from openqlab.io.importers.utils import UnknownFileType
 from pathlib import Path
 
 
diff --git a/src/tests/test_importers/test_base_importer/test_base_importer.py b/src/tests/test_importers/test_base_importer/test_base_importer.py
index 1d947b61e22e3cdd0f12d2d3cc3888dd14b99f79..bff22474c9271bd2f8b53bde489a97e367d8e86c 100644
--- a/src/tests/test_importers/test_base_importer/test_base_importer.py
+++ b/src/tests/test_importers/test_base_importer/test_base_importer.py
@@ -1,6 +1,6 @@
 import unittest
-import OpenQlab
-from OpenQlab.io.base_importer import BaseImporter, StreamImporter, VisaImporter
+import openqlab
+from openqlab.io.base_importer import BaseImporter, StreamImporter, VisaImporter
 
 
 class TestSubclasses(unittest.TestCase):
diff --git a/src/tests/test_importers/test_gwinstek/test_gwinstek.py b/src/tests/test_importers/test_gwinstek/test_gwinstek.py
index f2584a6ac36d8d97f969cc5ae9c52bbdd1a11859..731e3e71ed4b6977c048c85e2af44a6717970dd7 100644
--- a/src/tests/test_importers/test_gwinstek/test_gwinstek.py
+++ b/src/tests/test_importers/test_gwinstek/test_gwinstek.py
@@ -1,8 +1,8 @@
 import unittest
 from pandas.errors import EmptyDataError
-from OpenQlab.io.importers.gwinstek import Gwinstek
-from OpenQlab.io.data_container import DataContainer
-from OpenQlab.io.importers.utils import UnknownFileType, ImportFailed
+from openqlab.io.importers.gwinstek import Gwinstek
+from openqlab.io.data_container import DataContainer
+from openqlab.io.importers.utils import UnknownFileType, ImportFailed
 from pathlib import Path
 
 
diff --git a/src/tests/test_importers/test_gwinstek_LSF/test_gwinstek_LSF.py b/src/tests/test_importers/test_gwinstek_LSF/test_gwinstek_LSF.py
index f4c9fbc695d54dba0cee2ee9eb48a381df8d3f51..4218d36e5804de1ea62f69a4f22a6619174d0562 100644
--- a/src/tests/test_importers/test_gwinstek_LSF/test_gwinstek_LSF.py
+++ b/src/tests/test_importers/test_gwinstek_LSF/test_gwinstek_LSF.py
@@ -1,8 +1,8 @@
 import unittest
 from pandas.errors import EmptyDataError
-from OpenQlab.io.importers.gwinstek_lsf import Gwinstek_LSF
-from OpenQlab.io.data_container import DataContainer
-from OpenQlab.io.importers.utils import UnknownFileType, ImportFailed
+from openqlab.io.importers.gwinstek_lsf import Gwinstek_LSF
+from openqlab.io.data_container import DataContainer
+from openqlab.io.importers.utils import UnknownFileType, ImportFailed
 from pathlib import Path
 
 
diff --git a/src/tests/test_importers/test_hp4395a/test_hp4395a.py b/src/tests/test_importers/test_hp4395a/test_hp4395a.py
index ca3e179f548be0d7999ff9196e978900ecbda59c..9b92a23e2b19cff4cf5b7138303bc8ed18120867 100644
--- a/src/tests/test_importers/test_hp4395a/test_hp4395a.py
+++ b/src/tests/test_importers/test_hp4395a/test_hp4395a.py
@@ -1,9 +1,9 @@
 import unittest
 import os
 from pandas.errors import EmptyDataError
-from OpenQlab.io.importers.hp4395a import HP4395A
-from OpenQlab.io.data_container import DataContainer
-from OpenQlab.io.importers.utils import UnknownFileType, ImportFailed
+from openqlab.io.importers.hp4395a import HP4395A
+from openqlab.io.data_container import DataContainer
+from openqlab.io.importers.utils import UnknownFileType, ImportFailed
 from pathlib import Path
 
 
diff --git a/src/tests/test_importers/test_keysight_binary/test_keysight_binary.py b/src/tests/test_importers/test_keysight_binary/test_keysight_binary.py
index c66bef7634ac1978c6a5dbd18d8e4ed293c90b40..16033213aae1b8da060c1761f8857188bf3a7683 100644
--- a/src/tests/test_importers/test_keysight_binary/test_keysight_binary.py
+++ b/src/tests/test_importers/test_keysight_binary/test_keysight_binary.py
@@ -1,8 +1,8 @@
 import unittest
 import os
-from OpenQlab.io.importers.keysight_binary import KeysightBinary
-from OpenQlab.io.data_container import DataContainer
-from OpenQlab.io.importers.utils import UnknownFileType, ImportFailed
+from openqlab.io.importers.keysight_binary import KeysightBinary
+from openqlab.io.data_container import DataContainer
+from openqlab.io.importers.utils import UnknownFileType, ImportFailed
 from pathlib import Path
 
 
diff --git a/src/tests/test_importers/test_keysight_csv/test_keysight_csv.py b/src/tests/test_importers/test_keysight_csv/test_keysight_csv.py
index 471f91cc90e93f095bcc60a98011cd5f4008ca48..26f2bf77b6a1db687d625ee8d52299e03606604a 100644
--- a/src/tests/test_importers/test_keysight_csv/test_keysight_csv.py
+++ b/src/tests/test_importers/test_keysight_csv/test_keysight_csv.py
@@ -1,9 +1,9 @@
 import unittest
 import os
 from pandas.errors import EmptyDataError
-from OpenQlab.io.importers.keysight_csv import KeysightCSV
-from OpenQlab.io.data_container import DataContainer
-from OpenQlab.io.importers.utils import UnknownFileType
+from openqlab.io.importers.keysight_csv import KeysightCSV
+from openqlab.io.data_container import DataContainer
+from openqlab.io.importers.utils import UnknownFileType
 from pathlib import Path
 
 class TestKeysightCSV(unittest.TestCase):
diff --git a/src/tests/test_importers/test_keysight_fra/test_keysight_fra.py b/src/tests/test_importers/test_keysight_fra/test_keysight_fra.py
index 088282e6f8402977be8e05a719a5d3b24d3229e9..3aebfd114add2a85bd137e9a69efa959a2ceb997 100644
--- a/src/tests/test_importers/test_keysight_fra/test_keysight_fra.py
+++ b/src/tests/test_importers/test_keysight_fra/test_keysight_fra.py
@@ -1,8 +1,8 @@
 import unittest
 import os
-from OpenQlab.io.importers.keysight_fra import KeysightFRA
-from OpenQlab.io.data_container import DataContainer
-from OpenQlab.io.importers.utils import UnknownFileType, ImportFailed
+from openqlab.io.importers.keysight_fra import KeysightFRA
+from openqlab.io.data_container import DataContainer
+from openqlab.io.importers.utils import UnknownFileType, ImportFailed
 from pathlib import Path
 
 class TestKeysightFRA(unittest.TestCase):
diff --git a/src/tests/test_importers/test_rhode_schwarz/test_rhode_schwarz.py b/src/tests/test_importers/test_rhode_schwarz/test_rhode_schwarz.py
index 191cd0b069955cccf07e7fd7cc5b50bf413b709c..784d3079390590a2efae59f030e8ff2fdedb213e 100644
--- a/src/tests/test_importers/test_rhode_schwarz/test_rhode_schwarz.py
+++ b/src/tests/test_importers/test_rhode_schwarz/test_rhode_schwarz.py
@@ -1,8 +1,8 @@
 import unittest
 import os
-from OpenQlab.io.importers.rhode_schwarz import RhodeSchwarz
-from OpenQlab.io.data_container import DataContainer
-from OpenQlab.io.importers.utils import UnknownFileType, ImportFailed
+from openqlab.io.importers.rhode_schwarz import RhodeSchwarz
+from openqlab.io.data_container import DataContainer
+from openqlab.io.importers.utils import UnknownFileType, ImportFailed
 from pathlib import Path
 
 
diff --git a/src/tests/test_importers/test_tektronix/test_tektronix.py b/src/tests/test_importers/test_tektronix/test_tektronix.py
index 534d9369d7e11b6f2ac9b18480e3865e2f962294..54f8acc7036c1a83e2d017309dd2924dcdb30a27 100644
--- a/src/tests/test_importers/test_tektronix/test_tektronix.py
+++ b/src/tests/test_importers/test_tektronix/test_tektronix.py
@@ -1,8 +1,8 @@
 import unittest
 import os
-from OpenQlab.io.importers.tektronix import Tektronix
-from OpenQlab.io.data_container import DataContainer
-from OpenQlab.io.importers.utils import UnknownFileType, ImportFailed
+from openqlab.io.importers.tektronix import Tektronix
+from openqlab.io.data_container import DataContainer
+from openqlab.io.importers.utils import UnknownFileType, ImportFailed
 from pathlib import Path
 
 
diff --git a/src/tests/test_importers/test_tektronix_dpx/test_tektronix_dpx.py b/src/tests/test_importers/test_tektronix_dpx/test_tektronix_dpx.py
index c38c6ca2c82d8c282af181bf7a1421a9a77d2c5f..5b31ff82e2fd3de72119b1c9b15867794ed99fdc 100644
--- a/src/tests/test_importers/test_tektronix_dpx/test_tektronix_dpx.py
+++ b/src/tests/test_importers/test_tektronix_dpx/test_tektronix_dpx.py
@@ -1,8 +1,8 @@
 import unittest
 import os
-from OpenQlab.io.importers.tektronix_dpx import TektronixDPX
-from OpenQlab.io.data_container import DataContainer
-from OpenQlab.io.importers.utils import UnknownFileType, ImportFailed
+from openqlab.io.importers.tektronix_dpx import TektronixDPX
+from openqlab.io.data_container import DataContainer
+from openqlab.io.importers.utils import UnknownFileType, ImportFailed
 from pathlib import Path
 
 
diff --git a/src/tests/test_importers/test_tektronix_spectrogram/test_tektronix_spectrogram.py b/src/tests/test_importers/test_tektronix_spectrogram/test_tektronix_spectrogram.py
index cbfdc97941fb1f6778514b9075a903be50f813a6..bbd0ddeae3075d0e659f4d1e9c5bcddc55b6d705 100644
--- a/src/tests/test_importers/test_tektronix_spectrogram/test_tektronix_spectrogram.py
+++ b/src/tests/test_importers/test_tektronix_spectrogram/test_tektronix_spectrogram.py
@@ -1,8 +1,8 @@
 import unittest
 import os
-from OpenQlab.io.importers.tektronix_spectrogram import TektronixSpectrogram
-from OpenQlab.io.data_container import DataContainer
-from OpenQlab.io.importers.utils import UnknownFileType
+from openqlab.io.importers.tektronix_spectrogram import TektronixSpectrogram
+from openqlab.io.data_container import DataContainer
+from openqlab.io.importers.utils import UnknownFileType
 from pathlib import Path
 
 class TestTekSpectrogram(unittest.TestCase):
diff --git a/src/tests/test_io/test_read.py b/src/tests/test_io/test_read.py
index 8c95ac2f39d88aa3f9399a8548a25f2301766c01..be89aac3dc58b09295629229832da56e17b7ee14 100644
--- a/src/tests/test_io/test_read.py
+++ b/src/tests/test_io/test_read.py
@@ -1,8 +1,8 @@
 import unittest
-from OpenQlab.io.data_container import DataContainer
+from openqlab.io.data_container import DataContainer
 from pathlib import Path
 import gzip
-import OpenQlab.io
+import openqlab.io
 
 
 class TestRead(unittest.TestCase):
@@ -60,7 +60,7 @@ class TestRead(unittest.TestCase):
     def read_file(self, file):
         try:
             print(f'\nTesting file: {file}')
-            data = OpenQlab.io.read(file)
+            data = openqlab.io.read(file)
             self.assertTrue(isinstance(data, DataContainer) and not data.empty)
             self.assertTrue(data._is_numeric_mixed_type)
             for column in data.columns:
@@ -100,7 +100,7 @@ class TestDeprecations(unittest.TestCase):
     def test_deprecated_type_argument(self):
         with self.assertWarns(DeprecationWarning):
             try:
-                OpenQlab.io.read('', type='TestType')
+                openqlab.io.read('', type='TestType')
             except Exception:
                 pass
 
@@ -108,6 +108,6 @@ class TestDeprecations(unittest.TestCase):
     def test_deprecated_type_argument_not_used(self):
         with self.assertWarns(DeprecationWarning):
             try:
-                OpenQlab.io.read('')
+                openqlab.io.read('')
             except Exception:
                 pass
diff --git a/src/tests/test_io/test_reads.py b/src/tests/test_io/test_reads.py
index 61afc76fde5ec3359d431f9fc7c40f36e5df10c5..b7762fbc878f91ff0d41d1fc34bf4009c4fd56c0 100644
--- a/src/tests/test_io/test_reads.py
+++ b/src/tests/test_io/test_reads.py
@@ -1,6 +1,6 @@
 import unittest
-from OpenQlab import io
-from OpenQlab.io.data_container import DataContainer
+from openqlab import io
+from openqlab.io.data_container import DataContainer
 from pathlib import Path
 
 
@@ -81,7 +81,7 @@ class TestReads(unittest.TestCase):
         self.assertAlmostEqual(-105.49134063720703, data.iloc[100, 0])
 
     def test_correct_rows_multitrace(self):
-        from OpenQlab.io.importers.rhode_schwarz import RhodeSchwarz
+        from openqlab.io.importers.rhode_schwarz import RhodeSchwarz
         file = self.files_path / 'RhodeSchwarz/FSV-4_multitrace_comma.DAT'
         with open(file) as f:
             data = self.read_file(f.read())
diff --git a/src/tests/test_phase.py b/src/tests/test_phase.py
index 2ce0d098dec50458cc5df427aa6530fc85705641..3c2439975bda0a8b98cd04f0a769a09e7e9f06c9 100644
--- a/src/tests/test_phase.py
+++ b/src/tests/test_phase.py
@@ -1,5 +1,5 @@
 import unittest
-from OpenQlab import io, analysis, DataContainer
+from openqlab import io, analysis, DataContainer
 from pandas import DataFrame
 import logging as log
 
diff --git a/src/tests/test_plots.py b/src/tests/test_plots.py
index b1e2c203bcbddac52d9510d1a2fb638e7c86c4a2..fd9e8d6a349d74b221609531ff8d7035e0e17473 100644
--- a/src/tests/test_plots.py
+++ b/src/tests/test_plots.py
@@ -3,8 +3,8 @@ import unittest
 import matplotlib
 import matplotlib.pyplot as plt
 from numpy import array_equal
-from OpenQlab import io, plots
-from OpenQlab.plots.frequency_domain import relative_input_noise
+from openqlab import io, plots
+from openqlab.plots.frequency_domain import relative_input_noise
 
 
 class TestRIN(unittest.TestCase):
diff --git a/src/tests/test_servo_design.py b/src/tests/test_servo_design.py
index 94ba47b85ac8f406dbad5d223c1e07ad734df1e4..4ff8abef369b054169655acb26863508e81842d4 100644
--- a/src/tests/test_servo_design.py
+++ b/src/tests/test_servo_design.py
@@ -1,7 +1,7 @@
 import os
 import unittest
-from OpenQlab.analysis.servo_design import ServoDesign, Filter, Integrator, Differentiator, Notch, Lowpass
-from OpenQlab import io
+from openqlab.analysis.servo_design import ServoDesign, Filter, Integrator, Differentiator, Notch, Lowpass
+from openqlab import io
 import numpy as np
 import matplotlib
 import logging as log
diff --git a/src/tests/test_wavelength.py b/src/tests/test_wavelength.py
index 8570415d940064954d77c26d80714a8ee099c309..f1964f73ffb0696bf95954b553d45ee7ab55b3ce 100644
--- a/src/tests/test_wavelength.py
+++ b/src/tests/test_wavelength.py
@@ -1,5 +1,5 @@
 import unittest
-from OpenQlab.conversion import wavelength
+from openqlab.conversion import wavelength
 import math
 from scipy import constants as const
 
@@ -25,7 +25,7 @@ class TestWavelength(unittest.TestCase):
         self.assertAlmostEqual(l.lambda0, l2.lambda0)
 
         self.assertAlmostEqual(l.lambda0, wavelength.Wavelength.from_eV(l.eV).lambda0)
-    
+
     def test_shotnoise(self):
         lambda0 = 1.064e-6
         l = wavelength.Wavelength(lambda0)