diff --git a/saqc/flagger/flags.py b/saqc/flagger/flags.py
index db2996c4ff8b958b703bec154ceb482134cfb19e..1b75d08e69785cb873cee3e750cd8143fbb8be08 100644
--- a/saqc/flagger/flags.py
+++ b/saqc/flagger/flags.py
@@ -92,6 +92,7 @@ class Flags:
         result = {}
 
         for obj in data:
+
             if isinstance(obj, tuple):
                 k, item = obj
             else:
@@ -102,6 +103,10 @@ class Flags:
 
             if isinstance(item, pd.Series):
                 item = item.to_frame(name=0)
+            elif isinstance(item, History):
+                pass
+            else:
+                raise TypeError(f"cannot init from {type(data.__name__)} of {type(item.__name__)}")
 
             result[k] = History(item, copy=copy)
 
@@ -140,17 +145,21 @@ class Flags:
     def columns(self, value: pd.Index):
         if not isinstance(value, pd.Index):
             value = pd.Index(value)
+
         if (
                 not value.is_unique
                 or not pd.api.types.is_string_dtype(value)
         ):
             raise TypeError('value must be pd.Index, with unique indices of type str')
+
         if not len(value) == len(self):
             raise ValueError("index must match current index in length")
 
         _data, _cache = {}, {}
+
         for old, new in zip(self.columns, value):
             _data[new] = self._data.pop(old)
+
             if old in self._cache:
                 _cache[new] = self._cache[old]
 
@@ -234,7 +243,7 @@ def init_flags_like(reference: Union[pd.Series, DictLike, Flags], initial_value:
         if not isinstance(item, (pd.Series, History)):
             raise TypeError('items in reference must be of type pd.Series')
 
-        item = pd.DataFrame(UNFLAGGED, index=item.index, columns=[0], dtype=float)
+        item = pd.DataFrame(initial_value, index=item.index, columns=[0], dtype=float)
 
         result[k] = History(item)
 
@@ -244,6 +253,7 @@ def init_flags_like(reference: Union[pd.Series, DictLike, Flags], initial_value:
 if __name__ == '__main__':
     from dios import example_DictOfSeries
 
-    f = init_flags_like(example_DictOfSeries())
+    f = init_flags_like(example_DictOfSeries(), initial_value=-3.)
     print(f)
     print(Flags())
+    print(Flags(example_DictOfSeries().astype(float)))