diff --git a/test/flagger/__init__.py b/test/flagger/__init__.py
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/testsfuzzy/__init__.py b/tests/__init__.py
similarity index 100%
rename from testsfuzzy/__init__.py
rename to tests/__init__.py
diff --git a/test/common.py b/tests/common.py
similarity index 100%
rename from test/common.py
rename to tests/common.py
diff --git a/test/core/__init__.py b/tests/core/__init__.py
similarity index 100%
rename from test/core/__init__.py
rename to tests/core/__init__.py
diff --git a/test/core/test_core.py b/tests/core/test_core.py
similarity index 97%
rename from test/core/test_core.py
rename to tests/core/test_core.py
index 51b99f5c441fc1bde50d843917a30c63a92a38e1..cddc2fd59d700157475efc9be93c84d5fffd6e5c 100644
--- a/test/core/test_core.py
+++ b/tests/core/test_core.py
@@ -7,12 +7,12 @@ import numpy as np
 import pandas as pd
 
 from saqc.common import *
-from saqc.flagger import Flagger, initFlagsLike
+from saqc.flagger import initFlagsLike
 from saqc.funcs import flagRange
 from saqc.lib import plotting as splot
 from saqc import SaQC, register
 
-from test.common import initData, flagAll
+from tests.common import initData, flagAll
 
 # no logging output needed here
 # -> can this be configured on the test runner level?
diff --git a/test/core/test_creation.py b/tests/core/test_creation.py
similarity index 100%
rename from test/core/test_creation.py
rename to tests/core/test_creation.py
diff --git a/test/core/test_reader.py b/tests/core/test_reader.py
similarity index 98%
rename from test/core/test_reader.py
rename to tests/core/test_reader.py
index 9ab7d2a51a362cbf2eba21daaf642ddb91fcb424..e2d80042bfb5a10400306f937300106dcd8b759e 100644
--- a/test/core/test_reader.py
+++ b/tests/core/test_reader.py
@@ -11,7 +11,7 @@ from saqc.core.config import Fields as F
 from saqc.core.core import SaQC
 from saqc.core.register import FUNC_MAP, register
 
-from test.common import initData, writeIO
+from tests.common import initData, writeIO
 
 
 @pytest.fixture
diff --git a/test/fixtures.py b/tests/fixtures.py
similarity index 100%
rename from test/fixtures.py
rename to tests/fixtures.py
diff --git a/test/__init__.py b/tests/flagger/__init__.py
similarity index 100%
rename from test/__init__.py
rename to tests/flagger/__init__.py
diff --git a/test/flagger/test_flagger.py b/tests/flagger/test_flagger.py
similarity index 99%
rename from test/flagger/test_flagger.py
rename to tests/flagger/test_flagger.py
index a304409fbe104cd2922ef4610b2f9f92df9e181c..1af9f47106458bcdfe1c2016d43c15f22a630901 100644
--- a/test/flagger/test_flagger.py
+++ b/tests/flagger/test_flagger.py
@@ -7,7 +7,7 @@ from pandas.api.types import is_bool_dtype
 
 import dios
 
-from test.common import TESTFLAGGER, initData
+from tests.common import TESTFLAGGER, initData
 
 
 pytestmark = pytest.mark.skip('old flagger tests - rewrite needed')
diff --git a/test/flagger/test_flags.py b/tests/flagger/test_flags.py
similarity index 99%
rename from test/flagger/test_flags.py
rename to tests/flagger/test_flags.py
index c04177101559505c76f95bbddf6cf7c0d62bde89..6520220482f0cb1b21988fc47188dc293c85ef73 100644
--- a/test/flagger/test_flags.py
+++ b/tests/flagger/test_flags.py
@@ -7,7 +7,7 @@ import pandas as pd
 from saqc.common import *
 from saqc.flagger.flags import Flags
 
-from test.flagger.test_history import (
+from tests.flagger.test_history import (
     History,
     is_equal as hist_equal,
 )
diff --git a/test/flagger/test_history.py b/tests/flagger/test_history.py
similarity index 100%
rename from test/flagger/test_history.py
rename to tests/flagger/test_history.py
diff --git a/test/funcs/__init__.py b/tests/funcs/__init__.py
similarity index 100%
rename from test/funcs/__init__.py
rename to tests/funcs/__init__.py
diff --git a/test/funcs/test_constants_detection.py b/tests/funcs/test_constants_detection.py
similarity index 96%
rename from test/funcs/test_constants_detection.py
rename to tests/funcs/test_constants_detection.py
index 30a16db1091d53d3e4f92beaab7171d07874627a..1ae7be1986a58920738ba809d1ae23506d06889b 100644
--- a/test/funcs/test_constants_detection.py
+++ b/tests/funcs/test_constants_detection.py
@@ -8,7 +8,7 @@ from saqc.common import *
 from saqc.funcs.constants import flagConstants, flagByVariance
 from saqc.flagger import initFlagsLike
 
-from test.common import initData
+from tests.common import initData
 
 
 @pytest.fixture
diff --git a/test/funcs/test_functions.py b/tests/funcs/test_functions.py
similarity index 98%
rename from test/funcs/test_functions.py
rename to tests/funcs/test_functions.py
index a205e517d9ef0e36e9921787ca47deef7afb07e2..bbaa20ad5fa8da76ea06e78c8c82c801a31baea5 100644
--- a/test/funcs/test_functions.py
+++ b/tests/funcs/test_functions.py
@@ -1,13 +1,10 @@
 #! /usr/bin/env python
 # -*- coding: utf-8 -*-
 
-import pytest
-import pandas as pd
-import numpy as np
 import dios
 
 from saqc.common import *
-from saqc.flagger import Flagger, initFlagsLike
+from saqc.flagger import initFlagsLike
 from saqc.funcs.drift import flagDriftFromNorm, flagDriftFromReference, flagDriftFromScaledNorm
 from saqc.funcs.outliers import flagCrossStatistic, flagRange
 from saqc.funcs.flagtools import flagManual, forceFlags, clearFlags
@@ -15,8 +12,8 @@ from saqc.funcs.tools import drop, copy, mask
 from saqc.funcs.resampling import reindexFlags
 from saqc.funcs.breaks import flagIsolated
 
-from test.fixtures import *
-from test.common import initData
+from tests.fixtures import *
+from tests.common import initData
 
 
 @pytest.fixture
diff --git a/test/funcs/test_generic_api_functions.py b/tests/funcs/test_generic_api_functions.py
similarity index 95%
rename from test/funcs/test_generic_api_functions.py
rename to tests/funcs/test_generic_api_functions.py
index 76c9f0d5352f8a9584b9beed1ecabfaed9f4fbe8..d581c4344d7580fa9c0bec3ba5fb36a6efe6147e 100644
--- a/test/funcs/test_generic_api_functions.py
+++ b/tests/funcs/test_generic_api_functions.py
@@ -1,9 +1,7 @@
 #! /usr/bin/env python
 # -*- coding: utf-8 -*-
-import ast
 
 import pytest
-import numpy as np
 import pandas as pd
 
 from saqc.common import *
@@ -11,7 +9,7 @@ from saqc.core.register import register
 from saqc.funcs.tools import mask
 from saqc import SaQC
 
-from test.common import initData, flagAll
+from tests.common import initData, flagAll
 
 
 register(masking='field')(flagAll)
diff --git a/test/funcs/test_generic_config_functions.py b/tests/funcs/test_generic_config_functions.py
similarity index 99%
rename from test/funcs/test_generic_config_functions.py
rename to tests/funcs/test_generic_config_functions.py
index 81e91d6430e019231537413862b8cc8305c105db..6e84e6a994b41c0ba2a372802884cb4fccd8ff70 100644
--- a/test/funcs/test_generic_config_functions.py
+++ b/tests/funcs/test_generic_config_functions.py
@@ -15,7 +15,7 @@ from saqc.core.register import register
 from saqc.funcs.generic import _execGeneric
 from saqc import SaQC
 
-from test.common import TESTNODATA, initData, writeIO
+from tests.common import TESTNODATA, initData, writeIO
 
 
 @pytest.fixture
diff --git a/test/funcs/test_harm_funcs.py b/tests/funcs/test_harm_funcs.py
similarity index 99%
rename from test/funcs/test_harm_funcs.py
rename to tests/funcs/test_harm_funcs.py
index 187a4b7c4f1110c5ea1be2679ef97d6b8f519d20..4f12a41d2a6629c685abe89ff33ce49d884f2b62 100644
--- a/test/funcs/test_harm_funcs.py
+++ b/tests/funcs/test_harm_funcs.py
@@ -8,7 +8,7 @@ import numpy as np
 import pandas as pd
 import dios
 
-from test.common import TESTFLAGGER
+from tests.common import TESTFLAGGER
 
 from saqc.funcs.resampling import (
     linear,
diff --git a/test/funcs/test_modelling.py b/tests/funcs/test_modelling.py
similarity index 96%
rename from test/funcs/test_modelling.py
rename to tests/funcs/test_modelling.py
index 748a06fa33ffdec0889edd28abf9ed86d8c7c306..6d99d5786e6a2d3e420aa793a7e0c2baf1dde2f8 100644
--- a/test/funcs/test_modelling.py
+++ b/tests/funcs/test_modelling.py
@@ -4,16 +4,13 @@
 
 # see test/functs/fixtures.py for global fixtures "course_..."
 
-import pytest
-import numpy as np
-import pandas as pd
 import dios
 
 from saqc.funcs.tools import mask
 from saqc.funcs.residues import calculatePolynomialResidues, calculateRollingResidues
 
-from test.fixtures import *
-from test.common import TESTFLAGGER
+from tests.fixtures import *
+from tests.common import TESTFLAGGER
 
 TF = TESTFLAGGER[:1]
 
diff --git a/test/funcs/test_pattern_rec.py b/tests/funcs/test_pattern_rec.py
similarity index 94%
rename from test/funcs/test_pattern_rec.py
rename to tests/funcs/test_pattern_rec.py
index 6f437edc2a240e22eba4f7d10b4284a29c92dc7a..3ca69d7072ec6414a0503144d586462cfffb6cb4 100644
--- a/test/funcs/test_pattern_rec.py
+++ b/tests/funcs/test_pattern_rec.py
@@ -6,9 +6,9 @@ import pandas as pd
 import dios
 
 from saqc.common import *
-from saqc.flagger import Flagger, initFlagsLike
+from saqc.flagger import initFlagsLike
 from saqc.funcs.pattern import *
-from test.common import initData
+from tests.common import initData
 
 
 @pytest.fixture
diff --git a/test/funcs/test_proc_functions.py b/tests/funcs/test_proc_functions.py
similarity index 97%
rename from test/funcs/test_proc_functions.py
rename to tests/funcs/test_proc_functions.py
index 7f07e1d2efea1520576457d699dbdb160ef4969e..31337badcfddcdd11c93c9d397c41577f213d4d0 100644
--- a/test/funcs/test_proc_functions.py
+++ b/tests/funcs/test_proc_functions.py
@@ -4,9 +4,6 @@
 
 # see test/functs/fixtures.py for global fixtures "course_..."
 
-import pytest
-import numpy as np
-import pandas as pd
 import dios
 
 from saqc.common import *
@@ -16,8 +13,8 @@ from saqc.funcs.interpolation import interpolateByRolling, interpolateInvalid, i
 from saqc.funcs.resampling import resample
 from saqc.lib.ts_operators import linearInterpolation, polynomialInterpolation
 
-from test.fixtures import *
-from test.common import TESTFLAGGER
+from tests.fixtures import *
+from tests.common import TESTFLAGGER
 
 
 @pytest.mark.parametrize("flagger", TESTFLAGGER)
diff --git a/test/funcs/test_spikes_detection.py b/tests/funcs/test_spikes_detection.py
similarity index 96%
rename from test/funcs/test_spikes_detection.py
rename to tests/funcs/test_spikes_detection.py
index 13526b62d3a2bbad4bc74e71de71be8f3cf50dcc..578dd9c446821adf6f2ef25ed9b1153f56d21d16 100644
--- a/test/funcs/test_spikes_detection.py
+++ b/tests/funcs/test_spikes_detection.py
@@ -2,11 +2,8 @@
 # -*- coding: utf-8 -*-
 
 # see test/functs/fixtures.py for global fixtures "course_..."
-import pytest
-import numpy as np
-import pandas as pd
 import dios
-from test.fixtures import *
+from tests.fixtures import *
 
 from saqc.funcs.outliers import (
     flagMAD,
@@ -16,7 +13,7 @@ from saqc.funcs.outliers import (
     flagByGrubbs,
 )
 from saqc.common import *
-from saqc.flagger import Flagger, initFlagsLike
+from saqc.flagger import initFlagsLike
 
 
 @pytest.fixture(scope="module")
diff --git a/tests/fuzzy/__init__.py b/tests/fuzzy/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..4265cc3e6c16c09774190fa55d609cd9fe0808e4
--- /dev/null
+++ b/tests/fuzzy/__init__.py
@@ -0,0 +1 @@
+#!/usr/bin/env python
diff --git a/testsfuzzy/init.py b/tests/fuzzy/init.py
similarity index 100%
rename from testsfuzzy/init.py
rename to tests/fuzzy/init.py
diff --git a/testsfuzzy/test_functions.py b/tests/fuzzy/test_functions.py
similarity index 97%
rename from testsfuzzy/test_functions.py
rename to tests/fuzzy/test_functions.py
index fc3caa00ed468731071578df148f8ed656290e0e..09d1f8484c28e8a47d82d747921dcdb764b69b7a 100644
--- a/testsfuzzy/test_functions.py
+++ b/tests/fuzzy/test_functions.py
@@ -6,7 +6,7 @@ from hypothesis import given, settings
 from hypothesis.strategies import data, from_type
 
 from saqc.core.register import FUNC_MAP
-from testsfuzzy.init import MAX_EXAMPLES, functionKwargs
+from tests.fuzzy.init import MAX_EXAMPLES, functionKwargs
 
 
 @settings(max_examples=MAX_EXAMPLES, deadline=None)
diff --git a/testsfuzzy/test_masking.py b/tests/fuzzy/test_masking.py
similarity index 96%
rename from testsfuzzy/test_masking.py
rename to tests/fuzzy/test_masking.py
index b1eb5861e40581b4365eede2cadeb654d419ec8f..9d45520eb90d9dc4a4deb2f95045debd71d7c838 100644
--- a/testsfuzzy/test_masking.py
+++ b/tests/fuzzy/test_masking.py
@@ -6,17 +6,12 @@ import logging
 import pandas as pd
 
 from hypothesis import given, settings
-from hypothesis.strategies import (
-    sampled_from,
-    composite,
-    sampled_from,
-)
 
 from saqc.common import *
-from saqc.flagger import Flagger, initFlagsLike
+from saqc.flagger import Flagger
 from saqc.core.register import _maskData, _unmaskData
 
-from testsfuzzy.init import dataFieldFlagger, MAX_EXAMPLES
+from tests.fuzzy.init import dataFieldFlagger, MAX_EXAMPLES
 
 
 logging.disable(logging.CRITICAL)
diff --git a/tests/lib/__init__.py b/tests/lib/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..4265cc3e6c16c09774190fa55d609cd9fe0808e4
--- /dev/null
+++ b/tests/lib/__init__.py
@@ -0,0 +1 @@
+#!/usr/bin/env python
diff --git a/test/lib/test_rolling.py b/tests/lib/test_rolling.py
similarity index 100%
rename from test/lib/test_rolling.py
rename to tests/lib/test_rolling.py