diff --git a/R/api.R b/R/api.R
index ae7cdcec82e068627e9c19bea01e5b60dba1903c..db9e935cc6edd69776c82a6ff4cda18e14d58177 100644
--- a/R/api.R
+++ b/R/api.R
@@ -187,6 +187,14 @@ vrfy_conf <- function(conf) {
     return(conf)
 }
 
+## @export
+concurrency <- function(m) {
+    m$conf$workers <- if (!is.null(m$conf$workers)) m$conf$workers else NO_WORKERS
+    
+    future::plan("multiprocess",workers=m$conf$workers)
+    message("workers: ",m$conf$workers)
+    m
+}
 
 
 
diff --git a/R/resources.R b/R/resources.R
index a5ca4b5115c389a1483647081c9ab65d90ada76c..2041a750eb51aaa337dd19b9d3b4722c4179a97e 100644
--- a/R/resources.R
+++ b/R/resources.R
@@ -132,3 +132,7 @@ EMPTY_MZML <- dtable(Files=character(0),
 
 
 FN_DATA_TAB <- "data-files.csv"
+
+
+## Default number of concurrent workers
+NO_WORKERS <- 2