diff --git a/allocate.c b/allocate.c
index 275a8429a9cc9335c9056943b2b915c832ef49d9..4d46af14d5ae6ff615fab4eb64b8365b59198c81 100644
--- a/allocate.c
+++ b/allocate.c
@@ -163,6 +163,7 @@ int main(int argc, char *argv[]) {
                     parableProcess[i].parallelisable = newProcess->parallelisable;
                     parableProcess[i].timeCompleted = -1;
                     parableProcess[i].timeRemaining = parableProcess[i].executionTime;
+                    parableProcess[i].deltaTime = newProcess->deltaTime;
                     addProcessToQueue(CPUs[i].processQueue, &parableProcess[i], currentTime, i);
                 }
                 numProcessesLeft += 1;
@@ -179,7 +180,8 @@ int main(int argc, char *argv[]) {
                     // printf("current time: %d\n", currentTime);
                     headProcess->justStarted = 0;
                     printf("%d,RUNNING,pid=%s,remaining_time=%d,cpu=%d - AAAA line 184\n",
-                          currentTime + headProcess->deltaTime, headProcess->processID, headProcess->timeRemaining, j);
+                          currentTime - headProcess->deltaTime, headProcess->processID,
+                          headProcess->timeRemaining + headProcess->deltaTime, j);
                 }
             }
 
@@ -294,6 +296,7 @@ void initializeProcess(char data[], process *newProcess) {
         newProcess->parallelisable = token[0];
     }
     newProcess->deltaTime =0;
+    newProcess->justStarted =0;
     newProcess->timeCompleted = -1;
     newProcess->timeRemaining = newProcess->executionTime;
 }
@@ -346,7 +349,7 @@ void advanceProcessQueue(llist *processQueue, int currentTime, int deltaTime, ll
                     // parallelized process has completed.
                     *numProcessesLeft -= 1;
                     *numProcessComplete += 1;
-                    paralizedProcess->timeCompleted = currentTime - deltaTime;//todo error on calculation here
+                    paralizedProcess->timeCompleted = currentTime - deltaTime;
                     paralizedProcess->timeRemaining = 0;
                     headProcess->timeRemaining = 0;
                     //printf("process had finished: Current time: %d, deltaTime: %d\n", currentTime, deltaTime);
@@ -420,7 +423,7 @@ void addProcessToQueue(llist *processQueue, process *newProcess, int currentTime
     process *headProcess;
     llist_add_inorder(newProcess, processQueue, (int (*)(void *, void *)) &leastTimeRemaining);
     headProcess = headData(processQueue);
-    if (strncmp(headProcess->processID, newProcess->processID, sizeof (newProcess->processID)))
+    if ( !strncmp(headProcess->processID, newProcess->processID, sizeof (newProcess->processID)) )
         headProcess->justStarted=-1;
 
 }