diff --git a/saqc/core/translation/__init__.py b/saqc/core/translation/__init__.py
index 45aa077963b0f90265238a23bb945aa58a2b79e8..c2db9856fcc5b3cefa80ff358de92f02ef37473b 100644
--- a/saqc/core/translation/__init__.py
+++ b/saqc/core/translation/__init__.py
@@ -8,6 +8,7 @@
 from saqc.core.translation.basescheme import (
     FloatScheme,
     SimpleScheme,
+    MappingScheme,
     TranslationScheme,
 )
 from saqc.core.translation.dmpscheme import DmpScheme
diff --git a/saqc/core/translation/basescheme.py b/saqc/core/translation/basescheme.py
index 1b42a8effeb2aa52e3706ef4b6e02add7deb1282..511fc92d01534f8ba32baa783990f1498f7346ac 100644
--- a/saqc/core/translation/basescheme.py
+++ b/saqc/core/translation/basescheme.py
@@ -7,6 +7,7 @@
 # -*- coding: utf-8 -*-
 
 from __future__ import annotations
+from abc import abstractmethod
 
 from typing import Any, Dict
 
@@ -16,13 +17,27 @@ import pandas as pd
 from dios import DictOfSeries
 from saqc.constants import BAD, FILTER_ALL, GOOD, UNFLAGGED
 from saqc.core.flags import Flags
-from saqc.lib.types import ExternalFlag
+from saqc.lib.types import ExternalFlag, PandasLike
 
 ForwardMap = Dict[ExternalFlag, float]
 BackwardMap = Dict[float, ExternalFlag]
 
-
 class TranslationScheme:
+
+    @abstractmethod
+    def __call__(self, ExternalFlag) -> float:
+        pass
+
+    @abstractmethod
+    def forward(self, PandasLike) -> Flags:
+        pass
+
+    @abstractmethod
+    def backward(self, Flags) -> DictOfSeries:
+        pass
+
+
+class MappingScheme(TranslationScheme):
     """
     This class provides the basic translation mechanism and should serve as
     a base class for every other translation scheme.
@@ -81,7 +96,7 @@ class TranslationScheme:
 
     @staticmethod
     def _translate(
-        flags: Flags | pd.DataFrame | pd.Series,
+        flags: Flags | pd.DataFrame | pd.Series | DictOfSeries,
         trans_map: ForwardMap | BackwardMap,
     ) -> DictOfSeries:
         """
@@ -130,7 +145,7 @@ class TranslationScheme:
             return float(flag)
         return self._forward[flag]
 
-    def forward(self, flags: pd.DataFrame) -> Flags:
+    def forward(self, flags: pd.DataFrame | DictOfSeries | pd.Series) -> Flags:
         """
         Translate from 'external flags' to 'internal flags'
 
@@ -177,7 +192,7 @@ class TranslationScheme:
         return out
 
 
-class FloatScheme(TranslationScheme):
+class FloatScheme(MappingScheme):
 
     """
     Acts as the default Translator, provides a changeable subset of the
@@ -193,7 +208,7 @@ class FloatScheme(TranslationScheme):
         super().__init__(self._MAP, self._MAP)
 
 
-class SimpleScheme(TranslationScheme):
+class SimpleScheme(MappingScheme):
 
     """
     Acts as the default Translator, provides a changeable subset of the
diff --git a/saqc/core/translation/dmpscheme.py b/saqc/core/translation/dmpscheme.py
index f5354871f0fc7c6fef8de603b57708b6875f5d6d..f567623988a4cd2a87c1954118a3e42659ce69ff 100644
--- a/saqc/core/translation/dmpscheme.py
+++ b/saqc/core/translation/dmpscheme.py
@@ -17,7 +17,7 @@ import pandas as pd
 from saqc.constants import BAD, DOUBTFUL, GOOD, UNFLAGGED
 from saqc.core.flags import Flags
 from saqc.core.history import History
-from saqc.core.translation.basescheme import BackwardMap, ForwardMap, TranslationScheme
+from saqc.core.translation.basescheme import BackwardMap, ForwardMap, MappingScheme
 
 _QUALITY_CAUSES = [
     "",
@@ -40,7 +40,7 @@ _QUALITY_LABELS = [
 ]
 
 
-class DmpScheme(TranslationScheme):
+class DmpScheme(MappingScheme):
 
     """
     Implements the translation from and to the flagging scheme implemented in
diff --git a/saqc/core/translation/positionalscheme.py b/saqc/core/translation/positionalscheme.py
index 1fb581d56a45f620ce79c5bfdafcf5ba42e41363..32ffdd09f5e02b2fc7a96e467ed6525c12865368 100644
--- a/saqc/core/translation/positionalscheme.py
+++ b/saqc/core/translation/positionalscheme.py
@@ -12,10 +12,10 @@ import pandas as pd
 
 from saqc.constants import BAD, DOUBTFUL, GOOD, UNFLAGGED
 from saqc.core.flags import Flags, History
-from saqc.core.translation.basescheme import BackwardMap, ForwardMap, TranslationScheme
+from saqc.core.translation.basescheme import BackwardMap, ForwardMap, MappingScheme
 
 
-class PositionalScheme(TranslationScheme):
+class PositionalScheme(MappingScheme):
 
     """
     Implements the translation from and to the flagging scheme implemented by CHS
diff --git a/tests/core/test_translator.py b/tests/core/test_translator.py
index 61d789e405b33bcaa1c70eaf02227ba71f59cdd3..0a84a5f884c07163ea9144f4c81ea2fb4edc021e 100644
--- a/tests/core/test_translator.py
+++ b/tests/core/test_translator.py
@@ -16,7 +16,7 @@ import pytest
 from saqc.constants import BAD, DOUBTFUL, FILTER_NONE, UNFLAGGED
 from saqc.core.core import SaQC
 from saqc.core.flags import Flags
-from saqc.core.translation import DmpScheme, PositionalScheme, TranslationScheme
+from saqc.core.translation import DmpScheme, PositionalScheme, MappingScheme
 from tests.common import initData
 
 
@@ -27,7 +27,7 @@ def _genTranslators():
             dtype(-1): BAD,
             **{dtype(f * 10): float(f) for f in range(10)},
         }
-        scheme = TranslationScheme(flags, {v: k for k, v in flags.items()})
+        scheme = MappingScheme(flags, {v: k for k, v in flags.items()})
         yield flags, scheme