diff --git a/swf2sessions.py b/swf2sessions.py
index 5738d520c0929ed4134366bbf870ff2fa28d4754..54ecb228812c327398ecbac781d4e0e269bde821 100755
--- a/swf2sessions.py
+++ b/swf2sessions.py
@@ -1,17 +1,21 @@
 #!/usr/bin/env python3
 
-import argparse, json, re, os.path, sys
+import argparse, json, re, os, sys
 from user_session_builder import User
 from workload import SwfField, Job
 
 
-def swf2sessions(input_swf, output_folder, delim_approach, delim_threshold,
+def swf2sessions(input_swf, output_dir, delim_approach, delim_threshold,
          dynamic_reduction, build_graph_rep, quiet):
     users = {}
 
 
-    if not os.path.exists(output_folder):
-        raise FileExistsError(f"Output folder '{output_folder}' does not exist")
+    if not os.path.exists(output_dir):
+        raise FileExistsError(f"Output folder '{output_dir}' does not exist")
+
+    if build_graph_rep:
+        if not os.path.exists(f"{output_dir}/graphs"):
+            os.makedirs(f"{output_dir}/graphs")
 
     # Read SWF
     element = '([-+]?\d+(?:\.\d+)?)'
@@ -48,24 +52,24 @@ def swf2sessions(input_swf, output_folder, delim_approach, delim_threshold,
 
     # SWF finished, output for each user
     for user_id, user in users.items():
-        with open(f"{output_folder}/{user_id}.SABjson", "w") as file:
+        with open(f"{output_dir}/{user_id}.SABjson", "w") as file:
             json.dump(user.to_dict(), file)
 
         if build_graph_rep:
-            user.export_dependancy_graph(output_folder)
+            user.export_dependancy_graph(f"{output_dir}/graphs")
 
     if not quiet:
         print("\nSWF parsing done.")
         print("Number of users:    ", len(users))
         print("Number of sessions: ", sum([len(u.sessions) for u in users.values()]))
-        print(f"The output files have been stored in the folder {output_folder}")
+        print(f"The output files have been stored in the folder {output_dir}")
 
 if __name__== "__main__":
     parser = argparse.ArgumentParser(description='TODO')
     parser.add_argument('input_swf',
                         type=argparse.FileType('r'),
                         help='The input SWF file')
-    parser.add_argument('output_folder',
+    parser.add_argument('output_dir',
                         type=str,
                         help='The folder that will store the output files')
 
@@ -100,10 +104,10 @@ if __name__== "__main__":
         '--graph',
         action="store_true",
         help=
-        "Build a graphical representation of each session graph and save it in the output folder as a gml file"
+        "Build a graphical representation of each session graph and save them in a subfolder as gml files"
     )
 
-    parser.add_argument("-q", "--quiet", action="store_true")
+    parser.add_argument("-q", "--quiet", action="store_true", help="Lowest verbosity level.")
 
     args = parser.parse_args()
 
@@ -115,7 +119,7 @@ if __name__== "__main__":
         delim = 'arrival'
 
     swf2sessions(input_swf=args.input_swf,
-        output_folder=args.output_folder,
+        output_dir=args.output_dir,
         delim_approach=delim,
         delim_threshold=args.threshold,
         dynamic_reduction=not (args.no_dynamic_reduction),
diff --git a/user_session_builder.py b/user_session_builder.py
index a416f00c6ac2418ad8344edcd96f92693d50b137..28704f6dbd8539256ce5ab9d40bd46b0b0464409 100644
--- a/user_session_builder.py
+++ b/user_session_builder.py
@@ -147,10 +147,10 @@ class User:
         self.__last_finish_time = job.finish_time
         self.__max_finish_time = max(self.__max_finish_time, job.finish_time)
 
-    def export_dependancy_graph(self, output_folder):
+    def export_dependancy_graph(self, out_dir):
         """Write the dependancy graph as a gml file"""
 
-        nx.write_gml(self.G, f"{output_folder}/{self.id}.gml")
+        nx.write_gml(self.G, f"{out_dir}/{self.id}.gml")
 
 
     def to_dict(self, descr=None, cmd=None, version=1):