diff --git a/applications/freertos/main.cpp b/applications/freertos/main.cpp
index 5abcca2..1c1821d 100644
--- a/applications/freertos/main.cpp
+++ b/applications/freertos/main.cpp
@@ -46,7 +46,7 @@
 // Nr. of tasks to process inferences with. Task reserves driver & runs inference (Normally 1 per NPU, but not a must)
 #define NUM_INFERENCE_TASKS 1
 // Nr. of tasks to create jobs and recieve responses
-#define NUM_JOB_TASKS 1
+#define NUM_JOB_TASKS 2
 // Nr. of jobs to create per job task
 #define NUM_JOBS_PER_TASK 1
 
@@ -62,7 +62,7 @@
  ****************************************************************************/
 
 struct ProcessTaskParams {
-    ProcessTaskParams() {}
+    ProcessTaskParams() : queueHandle(nullptr), tensorArena(nullptr), arenaSize(0) {}
     ProcessTaskParams(QueueHandle_t _queue, uint8_t *_tensorArena, size_t _arenaSize) :
         queueHandle(_queue), tensorArena(_tensorArena), arenaSize(_arenaSize) {}
 
@@ -71,11 +71,18 @@
     size_t arenaSize;
 };
 
+namespace {
 // Number of total completed jobs, needed to exit application correctly if NUM_JOB_TASKS > 1
-static int totalCompletedJobs = 0;
+int totalCompletedJobs = 0;
 
 // TensorArena static initialisation
-static const size_t arenaSize = TENSOR_ARENA_SIZE_PER_INFERENCE;
+const size_t arenaSize = TENSOR_ARENA_SIZE_PER_INFERENCE;
+
+// Declare below variables in global scope to avoid stack since FreeRTOS resets stack when the scheduler is started
+QueueHandle_t inferenceProcessQueue;
+ProcessTaskParams taskParams[NUM_INFERENCE_TASKS];
+} // namespace
+
 __attribute__((section(".bss.tensor_arena"), aligned(16)))
 uint8_t inferenceProcessTensorArena[NUM_INFERENCE_TASKS][arenaSize];
 
@@ -210,11 +217,6 @@
 /****************************************************************************
  * Application
  ****************************************************************************/
-
-// Declare variables in global scope to avoid stack since FreeRTOS resets stack when the scheduler is started
-static QueueHandle_t inferenceProcessQueue;
-static ProcessTaskParams taskParams[NUM_INFERENCE_TASKS];
-
 // FreeRTOS application. NOTE: Additional tasks may require increased heap size.
 int main() {
     BaseType_t ret;
@@ -246,4 +248,4 @@
     exit(1);
 
     return 0;
-}
\ No newline at end of file
+}
