diff --git a/model_server/base/api.py b/model_server/base/api.py
index d1e3abd3f460919b63e0519b0b5e03d2ecad0293..3ed87ba3a429ef95df383a897a4bc501b92c0c4f 100644
--- a/model_server/base/api.py
+++ b/model_server/base/api.py
@@ -234,4 +234,6 @@ def list_tasks() -> Dict[str, TaskInfo]:
 @app.put('/tasks/run/on_files')
 def task_file_batch():
     # new callable that parameterizes file name to acc_id, then passes this to to /tasks/*/run
-    pass
\ No newline at end of file
+    pass
+
+# TODO: tasks to run all enqueued items
\ No newline at end of file
diff --git a/model_server/base/session.py b/model_server/base/session.py
index 9df135f5679d5650144ab003a2bdf3725357e19c..cb8a757d4362afd389a6426a1559acde9277d6e0 100644
--- a/model_server/base/session.py
+++ b/model_server/base/session.py
@@ -69,6 +69,16 @@ class TaskCollection(object):
     def list_tasks(self) -> OrderedDict:
         return self._tasks
 
+    @property
+    def next_waiting(self):
+        """
+        Return the task_id of the first status waiting for completion, or else None
+        """
+        for k, v in self._tasks.items():
+            if v[k]['status'] == self.status_codes['waiting']:
+                return k
+        return None
+
     def run_task(self, task_id: str):
         task = self._tasks[task_id]
         f = self._handles[task_id]
@@ -137,6 +147,7 @@ class _Session(object):
             raise InvalidPathError(f'Could not find {path}')
         self.paths[key] = Path(path)
 
+    # TODO: option to automatically write to file e.g. in automated task queue processing
     def add_accessor(self, acc: GenericImageDataAccessor, accessor_id: str = None) -> str:
         """
         Add an accessor to session context