diff --git a/proto_SABjson_v2.SABjson b/proto_SABjson_v2.SABjson
index 1cbd7fafae83cbfd8d939727fafd5350905f1796..2fe627c70c41582f6177f144ae5ae146c6c6865a 100644
--- a/proto_SABjson_v2.SABjson
+++ b/proto_SABjson_v2.SABjson
@@ -1,5 +1,5 @@
 {
-    "description": "Prototype for session-annotated Batsim JSON (SABjson) format. See diagram https://app.diagrams.net/#G1tbo7oHahsgxTmhICucCGam5XNtshOUOb.",
+    "description": "Prototype for session-annotated Batsim JSON (SABjson) format. See diagram https://app.diagrams.net/#G1tbo7oHahsgxTmhICucCGam5XNtshOUOb",
     "command": "command used to generate the file. We can suppose that it's generated with arrival delimitation approach and threshold = 60mn = 3600s.",
     "date": "data of generation of the file",
     "nb_res": 4,
diff --git a/swf2depGraph.py b/src/swf2depGraph.py
similarity index 99%
rename from swf2depGraph.py
rename to src/swf2depGraph.py
index 9ba44ef2c17eb694418174e961536e72bfceeefe..d2275a19627f51bf44147fd4839521c5a65ad026 100755
--- a/swf2depGraph.py
+++ b/src/swf2depGraph.py
@@ -8,7 +8,7 @@ import json
 import re
 import networkx as nx
 
-from workload import SwfField
+from src.workload import SwfField
 
 # Global dictionnary
 users = {}
diff --git a/swf2uStat.py b/src/swf2uStat.py
similarity index 99%
rename from swf2uStat.py
rename to src/swf2uStat.py
index e7a0a1b046e415a8e743df54b90a148a69a859e8..6e9eaa399a8ef63b074ecc86cb0b8c4c7ef7c31d 100755
--- a/swf2uStat.py
+++ b/src/swf2uStat.py
@@ -9,7 +9,7 @@ import json
 import re
 from copy import deepcopy
 
-from workload import SwfField
+from src.workload import SwfField
 
 # Global dictionnary
 users = {}
diff --git a/user_session_builder.py b/src/user_session_builder.py
similarity index 100%
rename from user_session_builder.py
rename to src/user_session_builder.py
diff --git a/workload.py b/src/workload.py
similarity index 90%
rename from workload.py
rename to src/workload.py
index b1c33706e27d87b25ddf34071362137316f28781..3dab5429caf7b7c11c6a17060a4685fc91b65c0e 100644
--- a/workload.py
+++ b/src/workload.py
@@ -33,12 +33,12 @@ class Job:
     """Class representing a job in the workload."""
 
     def __init__(self,
-                 job_id,
-                 submit_time,
-                 finish_time,
-                 start_time=None,
-                 nb_requested_resources=None,
-                 walltime=None):
+                 job_id:int,
+                 submit_time:float,
+                 finish_time:float,
+                 start_time:float=None,
+                 nb_requested_resources:int=None,
+                 walltime:float=None):
         self.id = job_id
         self.submit_time = submit_time
         self.start_time = start_time
diff --git a/swf2sessions.py b/swf2sessions.py
index 54ecb228812c327398ecbac781d4e0e269bde821..83af1f1365670186306d730224507698ec1d848a 100755
--- a/swf2sessions.py
+++ b/swf2sessions.py
@@ -1,8 +1,8 @@
 #!/usr/bin/env python3
 
 import argparse, json, re, os, sys
-from user_session_builder import User
-from workload import SwfField, Job
+from src.user_session_builder import User
+from src.workload import SwfField, Job
 
 
 def swf2sessions(input_swf, output_dir, delim_approach, delim_threshold,
@@ -29,7 +29,7 @@ def swf2sessions(input_swf, output_dir, delim_approach, delim_threshold,
         res = r.match(line)
         if res:
             # Retreive values
-            job_id = str(res.group((SwfField.JOB_ID.value)))
+            job_id = int(res.group((SwfField.JOB_ID.value)))
             submit_time = max(0, float(res.group(SwfField.SUBMIT_TIME.value)))
             wait_time = float(res.group(SwfField.WAIT_TIME.value))
             run_time = float(res.group(SwfField.RUN_TIME.value))