diff --git a/debugging/fileutil.cpp b/debugging/fileutil.cpp
index b64a4418ba998fc4c7f6d665fd9153b44075e4ce..1997f8ad634d4be211e564b3707394a38e8136ad 100644
--- a/debugging/fileutil.cpp
+++ b/debugging/fileutil.cpp
@@ -20,8 +20,8 @@ using namespace std;
 int main(int argc, char **argv)
 {
   int cur = 0;
-  char *lines[35000];
-  char line[700];
+  char *lines[16536];
+  char line[80];
   // Fix num lines, num columns, strdup-1
   FILE *fin = fopen("bible.txt", "r");
   if (fin==NULL){
@@ -30,7 +30,7 @@ int main(int argc, char **argv)
   }
   while (!feof(fin)) {
     getline(line, fin);
-    lines[cur] = (char*) malloc(strlen(line) + 1);
+    lines[cur] = (char*) malloc(strlen(line)+1);
     strcpy(lines[cur], line);
     cur++;
   }
diff --git a/debugging/workitems.c b/debugging/workitems.c
index d6237fce4b78c788b5d006695a8c8850b23a4dce..6f8d1cb4c78730e7f9627abba5d99c113584feef 100644
--- a/debugging/workitems.c
+++ b/debugging/workitems.c
@@ -24,7 +24,6 @@ static void* launchThread(void *in)
   while (1) {
     pthread_mutex_lock(&lock);
     n = data->current++;
-    //printf("%d\n",data->current);
     if (n >= data->len){
       pthread_mutex_unlock(&lock);
       break;
@@ -32,7 +31,6 @@ static void* launchThread(void *in)
     data->fn(&data->data[n]);
     pthread_mutex_unlock(&lock);
   }
-  //rintf("Jag är ute\n" );
   return NULL;
 }
 
@@ -79,7 +77,7 @@ int main(int argc, char **argv)
   for (int i=0; i<100; i++) {
     vals[i] = i*1.5;
   }
-  launchParallel(8 /* Increase this if no error occurs */, vals, 100, mul2);
+  launchParallel(4 /* Increase this if no error occurs */, vals, 100, mul2);
 
   for (int i=0; i<100; i++) {
     if (vals[i] != 1.5*2*i) {
diff --git a/julia/dowhile.jl b/julia/dowhile.jl
index e4df3f5850019da6ee767465b9547d48657a848f..53867f6c5b2f34def65e82c5f0fbf180d0c87aa5 100644
--- a/julia/dowhile.jl
+++ b/julia/dowhile.jl
@@ -1,21 +1,19 @@
 function adjustLines(res, macrofile, invokedFile, invokedLine )
-    sz =size(res.args)
-    dump(res)
-    temp = copy(res)
-    for i=1:sz[1]
-        if isa(temp.args[i], LineNumberNode)
-            if (String(temp.args[i].file) == macrofile)
-                file = temp.args[i].line = invokedLine
+    if(typeof(res) == Expr)
+        #Loop thorugh all args
+        for i = 1:size(res.args)[1]
+            #Check if is a LineNumberNode
+            if(typeof(res.args[i]) == LineNumberNode)
+                #Check if it is the macrofile and then change the file and line
+                #otherwise do nothing
+                if(String(res.args[i].file) == String(macrofile))
+                    res.args[i] = LineNumberNode(invokedLine, invokedFile)
+                end
+                #Recusive expression if res.args[i] is a Expr 
+            elseif(typeof(res) == Expr)
+                res.args[i] = adjustLines(res.args[i], macrofile, invokedFile, invokedLine)
             end
-
-            #println(i)
-            #println(res.args[i].file)
-        else
-            #println(i)
-            #println("Nej")
         end
-        #println(i)
-        #println(res.args[i].args)
     end
     return res
 end
@@ -24,8 +22,6 @@ macro doWhile(block, cond)
  # println("__source__ ", __source__)
   #println("cond ", cond)
   #println("block ", block)
-
-
   res = quote
     #error("TODO: Your code here")
     $(esc(block))
@@ -34,7 +30,6 @@ macro doWhile(block, cond)
     end
   end
   res = adjustLines(res,@__FILE__(), __source__.file, __source__.line)
-  println("Here is the whole")
   println(res) # Should not print any lines referencing dowhile.jl
   res
 end