diff --git a/modules/aeolus/datasource.py b/modules/aeolus/datasource.py
index 3dbcf702757729e347556b7cb8d48ea734e1e5cb..66a785b43aeb6a980e6fd0d3bae974029284d1f7 100644
--- a/modules/aeolus/datasource.py
+++ b/modules/aeolus/datasource.py
@@ -83,11 +83,8 @@ class Files:
         self.ftimes = []
         self.dto_s = []
 
-        if os.path.isdir(files_path):
-            for path in glob.glob(files_path + pattern, recursive=True):
-                self.flist.append(path)
-        elif fnmatch.fnmatch(os.path.basename(files_path), pattern):  # check if this single file matches pattern
-            self.flist.append(files_path)
+        for path in glob.glob(files_path + pattern, recursive=True):
+            self.flist.append(path)
         if len(self.flist) == 0:
             raise GenericException('no matching files found in: ' + files_path + '  matching: ' + pattern)
 
@@ -291,6 +288,17 @@ class GFSfiles(Files):
         return dto
 
 
+class CrIS_Retrieval(Files):
+    def __init__(self, files_path, file_time_span=8, pattern='CrIS_*atm_prof_rtv.h5'):
+        super().__init__(files_path, file_time_span, pattern)
+
+    def get_datetime(self, pathname):
+        filename = os.path.split(pathname)[1]
+        dt_str = re.search('_d.{14}', filename).group(0)
+        dto = datetime.datetime.strptime(dt_str, '_d%Y%m%d_t%H%M').replace(tzinfo=timezone.utc)
+        return dto
+
+
 class AMVFiles:
 
     def __init__(self, files_path, file_time_span, pattern, band='14', elem_name=None, line_name=None, lat_name=None,