diff --git a/src/join.py b/src/join.py
index 4909ec267d06e6739fd61d9ee187cf9f7aec922a..a8b8edc7d25a610db3dbbd623cf2cde162587eaa 100644
--- a/src/join.py
+++ b/src/join.py
@@ -8,6 +8,7 @@ import logging
 import pandas as pd
 import datetime as dt
 from typing import Iterator, Union, List
+from src import helpers
 
 join_url_base = 'https://join.fz-juelich.de/services/rest/surfacedata/'
 logging.basicConfig(level=logging.INFO)
@@ -24,8 +25,7 @@ def download_join(station_name: Union[str, List[str]], statvar: dict) -> [pd.Dat
         - meta - pandas df with all meta information
     """
     # make sure station_name parameter is a list
-    if not isinstance(station_name, list):
-        station_name = [station_name]
+    station_name = helpers.to_list(station_name)
 
     # load series information
     opts = {'base': join_url_base, 'service': 'series', 'station_id': station_name[0]}
diff --git a/test/test_helpers.py b/test/test_helpers.py
new file mode 100644
index 0000000000000000000000000000000000000000..a88eb9c24576c8b714e7b912c273e536201bafc7
--- /dev/null
+++ b/test/test_helpers.py
@@ -0,0 +1,11 @@
+import pytest
+from src.helpers import to_list
+
+
+class TestToList:
+
+    def test_to_list(self):
+        assert to_list('a') == ['a']
+        assert to_list('abcd') == ['abcd']
+        assert to_list([1, 2, 3]) == [1, 2, 3]
+        assert to_list([45]) == [45]