diff --git a/Makefile b/Makefile
index 7e5433de303ed81c2bda6419e8cbe852526f8914..af69dced53600ad828c839294082732c0c06dbdc 100644
--- a/Makefile
+++ b/Makefile
@@ -223,13 +223,13 @@ debug: $(EXECUTABLE)
 	-iex 'mon halt' $<
 
 klee: buildrepo $(EXECUTABLE)
-	klee -emit-all-errors $(IROUT)
+	mkdir -p output; cp $(IROUT) output/; cd output; klee -emit-all-errors $(IROUT); cd ..
 
 run: buildrepo $(EXECUTABLE)
 	arm-none-eabi-gdb -q -x klee_stm_gdb.py $(EXECUTABLE)
 
 bench: buildrepo $(EXECUTABLE)
-	make clean; make; make klee; make clean; make wcet; make run; python profiling_db_parser.py klee_profiling.db
+	make clean; make; make klee; make clean; make wcet; make run; python profiling_db_parser.py output/klee_profiling.db
 
 define make-repo
    for dir in $(SRCDIRS); \
diff --git a/README.md b/README.md
index 8beb3c0a4959ef832fb48b6b983ee447fb9493b7..f9f37bd501e69c1af273eea807ebfdfbc5ff632e 100644
--- a/README.md
+++ b/README.md
@@ -87,6 +87,13 @@ causes interrupts is also wonky, e.g., when sigle stepping over a `JOB_REQUEST`
 the pend bit is not correctly handeled (and the corresponding interrupt not taken). These problems are present for this project only, 
 but general to the gdb debug integration, so be aware.
 
+If not using Eclipse the way to start openocd is by invoking:
+
+```
+openocd -f st_nuclie_f4_itm.cfg
+```
+in a separate terminal.
+
 ## Problems
 
 If openocd fails to start, one possible error is that the `/tmp/swo.log` file has been locked to a bad state. Actually its not an 
diff --git a/klee_stm_gdb.py b/klee_stm_gdb.py
index ab538cfa33b3fb0b53c226e312490e774b4619a4..01cd723d51f9480f69ceca3b70a11782878a3d1f 100644
--- a/klee_stm_gdb.py
+++ b/klee_stm_gdb.py
@@ -17,6 +17,12 @@ object_index_current = 0
 object_index_max = 100
 
 database_name = "klee_profiling"
+path = "output"
+
+""" Create an folder named output if it doesn't exist """
+os.makedirs(path, exist_ok=True)
+""" Enter the output folder """
+os.chdir(path)
 
 """ Check if a database exists, otherwise create one """