diff --git a/rdf/src/main/java/fr/tetras_libre/unltools/rdf/vocabulary/RdfFileBuilder.java b/rdf/src/main/java/fr/tetras_libre/unltools/rdf/vocabulary/RdfFileBuilder.java
index d14a97fdbe1e96c958d569df2e2c82c703b47d39..856ffc633f78935f9cdafa5c457ecee66f45dc1d 100644
--- a/rdf/src/main/java/fr/tetras_libre/unltools/rdf/vocabulary/RdfFileBuilder.java
+++ b/rdf/src/main/java/fr/tetras_libre/unltools/rdf/vocabulary/RdfFileBuilder.java
@@ -1,11 +1,10 @@
 package fr.tetras_libre.unltools.rdf.vocabulary;
 
+import fr.tetras_libre.unltools.unl.GraphExporter;
+import fr.tetras_libre.unltools.unl.UnlDocument;
 import org.apache.jena.ontology.OntModel;
 import org.apache.jena.rdf.model.ModelFactory;
-import unl.GraphExporter;
-import unl.UnlDocument;
 
-import java.io.IOException;
 import java.io.Writer;
 import java.util.List;
 
diff --git a/rdf/src/main/java/fr/tetras_libre/unltools/rdf/vocabulary/UnlDocumentToRdfConverter.java b/rdf/src/main/java/fr/tetras_libre/unltools/rdf/vocabulary/UnlDocumentToRdfConverter.java
index 26865069bb128e46306df11c00f23094dc5d7b08..2cdabd030521f2acb4d49961d2e3f28807cc27bd 100644
--- a/rdf/src/main/java/fr/tetras_libre/unltools/rdf/vocabulary/UnlDocumentToRdfConverter.java
+++ b/rdf/src/main/java/fr/tetras_libre/unltools/rdf/vocabulary/UnlDocumentToRdfConverter.java
@@ -1,5 +1,6 @@
 package fr.tetras_libre.unltools.rdf.vocabulary;
 
+import fr.tetras_libre.unltools.unl.*;
 import fr.tetras_libre.unltools.unl.extensions.GraphExtensions;
 import fr.tetras_libre.unltools.unl.extensions.SubGraphReferenceNodeExtensions;
 import org.apache.jena.ontology.Individual;
@@ -7,7 +8,6 @@ import org.apache.jena.ontology.OntModel;
 import org.apache.jena.ontology.Ontology;
 import org.apache.jena.rdf.model.ModelFactory;
 import org.apache.jena.vocabulary.SKOS;
-import unl.*;
 
 import java.util.Collection;
 import java.util.LinkedList;
@@ -28,10 +28,8 @@ public class UnlDocumentToRdfConverter {
 
     public Collection<OntModel> convertToOntModel(Collection<UnlDocument> documents) {
         List<OntModel> result = new LinkedList<>();
-        var index = 0;
         for (var document : documents) {
             result.addAll(convertUnlDocumentToOntModel(document));
-            index++;
         }
 
         return result;
@@ -64,15 +62,13 @@ public class UnlDocumentToRdfConverter {
                     var sentenceOntology = sentenceOntModel.createOntology(sentenceNameSpace + "ontology");
                     sentenceOntology.addImport(sentenceOntModel.createResource("https://unl.tetras-libre.fr/rdf/schema"));
                     docOntology.addImport(sentenceOntology);
-                    var sentenceIndividual = sentenceOntModel.createIndividual(String.format("%ssentence_%d",sentenceNameSpace, sentenceIndex), UNL.UNL_Sentence);
+                    var sentenceIndividual = sentenceOntModel.createIndividual(String.format("%ssentence_%d", sentenceNameSpace, sentenceIndex), UNL.UNL_Sentence);
 
                     sentenceOntModel.add(sentenceIndividual, UNL.has_index, docIndividual);
                     sentenceIndividual.addLabel("TBD : phrase en langue naturelle", "inv");
 
                     //documentNode.toString() : Le graphe UNL version chaîne de caractère
                     sentenceOntModel.add(sentenceIndividual, SKOS.altLabel, documentNode.toString());
-//                    sentenceOntModel.add(sentenceIndividual, UNL.is_substructure_of, docIndividual);
-//                    docModel.add(docIndividual, UNL.is_superstructure_of, sentenceIndividual);
                     this.setSuperstructureWithSubstructure(docModel, docIndividual, sentenceOntModel, sentenceIndividual);
                     for (var sentenceNode :
                             sentencegraph.getNodes()) {
@@ -81,15 +77,13 @@ public class UnlDocumentToRdfConverter {
 
                             // Création de l'universalWord dans le dictionnaire
                             var universalWordIndividual = sentenceOntModel.createIndividual(sentenceNameSpace + slugify(uw.getUniversalWord().toString()), UNL.UW_Lexeme);
-                            universalWordIndividual.addLabel(uw.getUniversalWord().toString(), "unl");
+                            universalWordIndividual.addLabel(uw.getUniversalWord().toString(), "fr/tetras_libre/unltools/unl");
 
                             // Création de l'occurence du l'universalWord
                             var universalWordOccurrence = sentenceOntModel.createIndividual(UtilGraphNodeUri.constructGraphNodeUri(sentenceNameSpace, uw),
                                     UNL.UW_Occurrence);
-                            universalWordOccurrence.addLabel(uw.getUniversalWord().toString(), "unl");
+                            universalWordOccurrence.addLabel(uw.getUniversalWord().toString(), "fr/tetras_libre/unltools/unl");
                             this.setSuperstructureWithSubstructure(sentenceOntModel, sentenceIndividual, sentenceOntModel, universalWordOccurrence);
-//                            sentenceOntModel.add(universalWordOccurrence, UNL.is_substructure_of, sentenceIndividual);
-//                            sentenceOntModel.add(sentenceIndividual, UNL.is_superstructure_of, universalWordOccurrence);
                             sentenceOntModel.add(universalWordOccurrence, UNL.is_occurrence_of, universalWordIndividual);
                             sentenceOntModel.add(universalWordIndividual, UNL.has_occurrence, universalWordOccurrence);
 
@@ -104,15 +98,25 @@ public class UnlDocumentToRdfConverter {
                                             UtilGraphNodeUri.constructGraphNodeUri(sentenceNameSpace, graphRefNode),
                                             UNL.UNL_Scope);
 
-                                    scopeIndividual.addLabel(scopeName, "unl");
-//                                    sentenceOntModel.add(scopeIndividual, UNL.is_substructure_of, sentenceIndividual);
-//                                    sentenceOntModel.add(sentenceIndividual, UNL.is_superstructure_of, scopeIndividual);
+                                    scopeIndividual.addLabel(scopeName, "fr/tetras_libre/unltools/unl");
                                     this.setSuperstructureWithSubstructure(sentenceOntModel, sentenceIndividual, sentenceOntModel, scopeIndividual);
 
+                                    /*
+                                    GraphExtensions.getRelationWithinScopeStream(scopeName, sentencegraph)
+                                            .forEach(relationWithinScope -> {
+                                                try {
+                                                    var relationWithinScopeUri = RelationsUri.constructRelationUri(scopeName, relationWithinScope);
+                                                    var relationWithinScopeObjectProperty = this.relationLabelToUnlPropertyConverter.getObjectProperty(relationWithinScope.getRelationLabel(), docModel);
+                                                    sentenceOntModel.createIndividual(relationWithinScopeUri, relationWithinScopeObjectProperty);
+                                                } catch (IllegalAccessException e) {
+                                                    e.printStackTrace();
+                                                }
+                                            });
+                                            */
                                     var relationsWithinScope = GraphExtensions.getRelationsWithinScope(scopeName, sentencegraph);
                                     for (var relationWithinScope : relationsWithinScope) {
                                         try {
-                                            var relationWithinScopeUri = RelationsUri.constructRelationUri(scopeName, relationWithinScope, sentencegraph);
+                                            var relationWithinScopeUri = RelationsUri.constructRelationUri(scopeName, relationWithinScope);
                                             var relationWithinScopeObjectProperty = this.relationLabelToUnlPropertyConverter.getObjectProperty(relationWithinScope.getRelationLabel(), docModel);
                                             sentenceOntModel.createIndividual(relationWithinScopeUri, relationWithinScopeObjectProperty);
                                         } catch (IllegalAccessException e) {
@@ -124,7 +128,7 @@ public class UnlDocumentToRdfConverter {
                             }
 
                             for (var relation : sentencegraph.getRelations()) {
-                                var relationUri = RelationsUri.constructRelationUri(sentenceNameSpace, relation, sentencegraph);
+                                var relationUri = RelationsUri.constructRelationUri(sentenceNameSpace, relation);
 
                                 try {
                                     var relationLabel = relation.getRelationLabel();
@@ -163,31 +167,31 @@ public class UnlDocumentToRdfConverter {
     }
 
     private static class RelationsUri {
-        public static String constructRelationUri(String scopeName, GraphRelation graphRelation, Graph g) {
+        public static String constructRelationUri(String scopeName, GraphRelation graphRelation) {
             return String.format("%s%s_%s_%s",
                     scopeName,
-                    slugify(constructRelationUri(graphRelation.getNode1(), g)),
+                    slugify(constructRelationUri(graphRelation.getNode1())),
                     graphRelation.getRelationLabel(),
-                    slugify(constructRelationUri(graphRelation.getNode2(), g)));
+                    slugify(constructRelationUri(graphRelation.getNode2())));
         }
 
-        private static String constructRelationUri(GraphNode node, Graph g) {
+        private static String constructRelationUri(GraphNode node) {
             if (node instanceof UniversalWordNode) {
-                return constructRelationUri((UniversalWordNode) node, g);
+                return constructRelationUri((UniversalWordNode) node);
             }
 
             if (node instanceof SubGraphReferenceNode) {
-                return constructRelationUri((SubGraphReferenceNode) node, g);
+                return constructRelationUri((SubGraphReferenceNode) node);
             }
 
             throw new IllegalArgumentException(String.format("Not implemented for type '%s'", node.getClass()));
         }
 
-        private static String constructRelationUri(UniversalWordNode node, Graph g) {
+        private static String constructRelationUri(UniversalWordNode node) {
             return node.getNodeId();
         }
 
-        private static String constructRelationUri(SubGraphReferenceNode node, Graph g) {
+        private static String constructRelationUri(SubGraphReferenceNode node) {
             return "scope_" + SubGraphReferenceNodeExtensions.getScopeNameFromSubGraphReferenceNode(node);
         }
     }
diff --git a/rdf/src/main/java/fr/tetras_libre/unltools/rdf/vocabulary/UtilGraphNodeUri.java b/rdf/src/main/java/fr/tetras_libre/unltools/rdf/vocabulary/UtilGraphNodeUri.java
index 2054a43463f3d4c7cfacf1d9af6ad3a6edde8271..9737041f4a44cd5141f3bc6d43826dba1896766c 100644
--- a/rdf/src/main/java/fr/tetras_libre/unltools/rdf/vocabulary/UtilGraphNodeUri.java
+++ b/rdf/src/main/java/fr/tetras_libre/unltools/rdf/vocabulary/UtilGraphNodeUri.java
@@ -1,9 +1,9 @@
 package fr.tetras_libre.unltools.rdf.vocabulary;
 
+import fr.tetras_libre.unltools.unl.GraphNode;
+import fr.tetras_libre.unltools.unl.SubGraphReferenceNode;
+import fr.tetras_libre.unltools.unl.UniversalWordNode;
 import fr.tetras_libre.unltools.unl.extensions.SubGraphReferenceNodeExtensions;
-import unl.GraphNode;
-import unl.SubGraphReferenceNode;
-import unl.UniversalWordNode;
 
 import static fr.tetras_libre.unltools.rdf.vocabulary.Slugify.slugify;
 
diff --git a/rdf/src/main/java/fr/tetras_libre/unltools/unl/extensions/GraphExtensions.java b/rdf/src/main/java/fr/tetras_libre/unltools/unl/extensions/GraphExtensions.java
index edbf4b75bcb2e84d0037dc4bdc05d1aea61b86b1..817f7091812c973bb9560e132b515786a7cf6b0b 100644
--- a/rdf/src/main/java/fr/tetras_libre/unltools/unl/extensions/GraphExtensions.java
+++ b/rdf/src/main/java/fr/tetras_libre/unltools/unl/extensions/GraphExtensions.java
@@ -1,10 +1,11 @@
 package fr.tetras_libre.unltools.unl.extensions;
 
-import unl.Graph;
-import unl.GraphRelation;
+import fr.tetras_libre.unltools.unl.Graph;
+import fr.tetras_libre.unltools.unl.GraphRelation;
 
 import java.util.Collection;
 import java.util.LinkedList;
+import java.util.stream.Stream;
 
 public class GraphExtensions {
     public static Collection<GraphRelation> getRelationsWithinScope(String scopeName, Graph g) {
@@ -16,4 +17,12 @@ public class GraphExtensions {
         }
         return relations;
     }
+
+    public static Stream<GraphRelation> getRelationWithinScopeStream(String scopeName, Graph g) {
+        return g.getRelations()
+                .stream()
+                .filter(relation -> null != relation.getSubGraphReferenceLabel()
+                        //&& !relation.getSubGraphReferenceLabel().isBlank()
+                        && relation.getSubGraphReferenceLabel().equals(scopeName));
+    }
 }
diff --git a/rdf/src/main/java/fr/tetras_libre/unltools/unl/extensions/GraphRelationExtensions.java b/rdf/src/main/java/fr/tetras_libre/unltools/unl/extensions/GraphRelationExtensions.java
index 7ce91461c6532f73abe6be4aef7277e0887ae9f2..429f4c4691437edd236333bbec89cfe385c3bbc6 100644
--- a/rdf/src/main/java/fr/tetras_libre/unltools/unl/extensions/GraphRelationExtensions.java
+++ b/rdf/src/main/java/fr/tetras_libre/unltools/unl/extensions/GraphRelationExtensions.java
@@ -1,6 +1,6 @@
 package fr.tetras_libre.unltools.unl.extensions;
 
-import unl.*;
+import fr.tetras_libre.unltools.unl.*;
 
 public class GraphRelationExtensions {
     public static String getRealNode1Id(GraphRelation graphRelation, Graph g) throws NoEntryNodeException {
@@ -13,22 +13,21 @@ public class GraphRelationExtensions {
 
     private static String getRealNodeId(GraphNode graphNode, Graph g) throws NoEntryNodeException {
         if (graphNode instanceof UniversalWordNode) {
-            return getRealNodeId((UniversalWordNode)graphNode, g);
+            return getRealNodeId((UniversalWordNode) graphNode, g);
         }
 
-        if(graphNode instanceof  SubGraphReferenceNode) {
-            return getRealNodeId((SubGraphReferenceNode)graphNode, g);
+        if (graphNode instanceof SubGraphReferenceNode) {
+            return getRealNodeId((SubGraphReferenceNode) graphNode, g);
         }
 
         throw new IllegalArgumentException(String.format("Not implemented for '%s'", graphNode.getClass()));
     }
 
-    private static String getRealNodeId(UniversalWordNode universalWordNode, Graph g){
+    private static String getRealNodeId(UniversalWordNode universalWordNode, Graph g) {
         return universalWordNode.getNodeId();
     }
 
     private static String getRealNodeId(SubGraphReferenceNode graphNodeReference, Graph g) throws NoEntryNodeException {
         return SubGraphReferenceNodeExtensions.getRealNodeId(graphNodeReference, g);
     }
-
 }
diff --git a/rdf/src/main/java/fr/tetras_libre/unltools/unl/extensions/SubGraphReferenceNodeExtensions.java b/rdf/src/main/java/fr/tetras_libre/unltools/unl/extensions/SubGraphReferenceNodeExtensions.java
index 023d9e8f8353beb4b377983d140010d12a384a69..6a9f80d90f0f9addadb0307f79c879d6bb89a0b5 100644
--- a/rdf/src/main/java/fr/tetras_libre/unltools/unl/extensions/SubGraphReferenceNodeExtensions.java
+++ b/rdf/src/main/java/fr/tetras_libre/unltools/unl/extensions/SubGraphReferenceNodeExtensions.java
@@ -1,8 +1,8 @@
 package fr.tetras_libre.unltools.unl.extensions;
 
-import unl.Graph;
-import unl.NoEntryNodeException;
-import unl.SubGraphReferenceNode;
+import fr.tetras_libre.unltools.unl.Graph;
+import fr.tetras_libre.unltools.unl.NoEntryNodeException;
+import fr.tetras_libre.unltools.unl.SubGraphReferenceNode;
 
 public class SubGraphReferenceNodeExtensions {
     public static String getScopeNameFromSubGraphReferenceNode(SubGraphReferenceNode g) {
diff --git a/rdf/src/test/java/fr/tetras_libre/unltools/rdf/vocabulary/CatUnlSentence.java b/rdf/src/test/java/fr/tetras_libre/unltools/rdf/vocabulary/CatUnlSentence.java
index 19b09644f555ad14db8e4a5531634a3121e256e3..3e6d86d168740f2284f48960fc570d52f66f3bae 100644
--- a/rdf/src/test/java/fr/tetras_libre/unltools/rdf/vocabulary/CatUnlSentence.java
+++ b/rdf/src/test/java/fr/tetras_libre/unltools/rdf/vocabulary/CatUnlSentence.java
@@ -1,13 +1,16 @@
 package fr.tetras_libre.unltools.rdf.vocabulary;
 
-import unl.*;
+import fr.tetras_libre.unltools.unl.*;
 
-import java.util.*;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.TreeSet;
 
 public class CatUnlSentence {
     private static List<UnlDocument> unlDocuments;
 
-    private static void buildUnlDocuments(){
+    private static void buildUnlDocuments() {
         var unlDocument = new UnlDocument("[D]");
 
         var graph = new Graph();
@@ -142,7 +145,7 @@ public class CatUnlSentence {
     }
 
     public static List<UnlDocument> getUnlDocuments() {
-        if(null == unlDocuments) {
+        if (null == unlDocuments) {
             buildUnlDocuments();
         }
 
diff --git a/rdf/src/test/java/fr/tetras_libre/unltools/rdf/vocabulary/R1SentenceWithExpectedRdf.java b/rdf/src/test/java/fr/tetras_libre/unltools/rdf/vocabulary/R1SentenceWithExpectedRdf.java
index 1a35458314da2f916cc51bf5e82e5a03c9deedb3..98534b938853e58d9335b6a0363abdfcc3a82137 100644
--- a/rdf/src/test/java/fr/tetras_libre/unltools/rdf/vocabulary/R1SentenceWithExpectedRdf.java
+++ b/rdf/src/test/java/fr/tetras_libre/unltools/rdf/vocabulary/R1SentenceWithExpectedRdf.java
@@ -1,9 +1,9 @@
 package fr.tetras_libre.unltools.rdf.vocabulary;
 
+import fr.tetras_libre.unltools.unl.*;
 import org.junit.jupiter.api.extension.ExtensionContext;
 import org.junit.jupiter.params.provider.Arguments;
 import org.junit.jupiter.params.provider.ArgumentsProvider;
-import unl.*;
 
 import java.util.*;
 import java.util.stream.Stream;
@@ -15,7 +15,7 @@ public class R1SentenceWithExpectedRdf implements ArgumentsProvider {
         unlDocuments = new LinkedList<>();
     }
 
-    private static void  buildUnlDocument() {
+    private static void buildUnlDocument() {
 
         var unlDocument = new UnlDocument("[D]");
 
@@ -150,8 +150,8 @@ public class R1SentenceWithExpectedRdf implements ArgumentsProvider {
         unlDocuments.add(unlDocument);
     }
 
-    private static List<UnlDocument> getUnlDocuments(){
-        if(null == unlDocuments) {
+    private static List<UnlDocument> getUnlDocuments() {
+        if (null == unlDocuments) {
             buildUnlDocument();
         }
 
diff --git a/rdf/src/test/java/fr/tetras_libre/unltools/rdf/vocabulary/RdfSchemaOfUNLTest.java b/rdf/src/test/java/fr/tetras_libre/unltools/rdf/vocabulary/RdfSchemaOfUNLTest.java
index 8759692d6ff8d0da4669050c3612222c21435e19..3b801093cd2541df6076600a1fec9af73e0a9d85 100644
--- a/rdf/src/test/java/fr/tetras_libre/unltools/rdf/vocabulary/RdfSchemaOfUNLTest.java
+++ b/rdf/src/test/java/fr/tetras_libre/unltools/rdf/vocabulary/RdfSchemaOfUNLTest.java
@@ -1,11 +1,11 @@
 package fr.tetras_libre.unltools.rdf.vocabulary;
 
+import fr.tetras_libre.unltools.unl.UnlDocument;
 import org.apache.jena.rdf.model.ModelFactory;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.ArgumentsSource;
-import unl.UnlDocument;
 
 import java.io.IOException;
 import java.io.StringWriter;
diff --git a/unl-parser/src/main/java/unl/EqualsBuilder.java b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/EqualsBuilder.java
similarity index 82%
rename from unl-parser/src/main/java/unl/EqualsBuilder.java
rename to unl-parser/src/main/java/fr/tetras_libre/unltools/unl/EqualsBuilder.java
index 3e9016614430e15bffb4cb1118210f261ebd9092..59ef9d5a54baccb8115aa74bd5b3984d967898de 100644
--- a/unl-parser/src/main/java/unl/EqualsBuilder.java
+++ b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/EqualsBuilder.java
@@ -1,4 +1,4 @@
-package unl;
+package fr.tetras_libre.unltools.unl;
 
 import java.util.Vector;
 
@@ -11,9 +11,9 @@ class EqualsBuilder {
 
     @Override
     public boolean equals(Object obj) {
-        if(null == obj) return false;
+        if (null == obj) return false;
 
-        if(!(obj instanceof EqualsBuilder)) return false;
+        if (!(obj instanceof EqualsBuilder)) return false;
 
         return this.isEqual((EqualsBuilder) obj);
     }
diff --git a/unl-parser/src/main/java/unl/Graph.java b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/Graph.java
similarity index 88%
rename from unl-parser/src/main/java/unl/Graph.java
rename to unl-parser/src/main/java/fr/tetras_libre/unltools/unl/Graph.java
index 76e0c6a0444b19689cc0ae0546c8088d5c9178c4..28288be4e75e1a8c84402fc63629265a3808c027 100644
--- a/unl-parser/src/main/java/unl/Graph.java
+++ b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/Graph.java
@@ -1,4 +1,4 @@
-package unl;
+package fr.tetras_libre.unltools.unl;
 
 import java.util.Collection;
 import java.util.Vector;
@@ -8,7 +8,7 @@ public class Graph {
     private final Vector<GraphRelation> relations;
     private int nodeCounter;
 
-    public Graph(){
+    public Graph() {
         this(new Vector<>(), new Vector<>());
     }
 
@@ -26,7 +26,7 @@ public class Graph {
         String str = relation.getSubGraphReferenceLabel();
         GraphNode graphNode = null;
 
-        if(str.equals(graphNumber)) {
+        if (str.equals(graphNumber)) {
             if (relation.getNode1().isEntryNode()) graphNode = relation.getNode1();
             if (relation.getNode2().isEntryNode()) graphNode = relation.getNode2();
         }
@@ -34,7 +34,7 @@ public class Graph {
         return graphNode;
     }
 
-    public static GraphNode getEntryNode(GraphRelation relation){
+    public static GraphNode getEntryNode(GraphRelation relation) {
         return getEntryNode(relation, "");
     }
 
@@ -46,11 +46,11 @@ public class Graph {
         return relations;
     }
 
-    public void add(GraphRelation relation){
+    public void add(GraphRelation relation) {
 
         // Update node 1
         int i1 = nodes.indexOf(relation.getNode1());
-        if (-1 == i1){
+        if (-1 == i1) {
             this.add(relation.getNode1());
             relation.getNode1().setNodeNumber(++nodeCounter);
         } else {
@@ -59,7 +59,7 @@ public class Graph {
 
         // update node 2
         int i2 = nodes.indexOf(relation.getNode2());
-        if (-1 == i2){
+        if (-1 == i2) {
             this.add(relation.getNode2());
             relation.getNode2().setNodeNumber(++nodeCounter);
         } else {
@@ -69,11 +69,11 @@ public class Graph {
         relations.add(relation);
     }
 
-    public void add(GraphNode node){
+    public void add(GraphNode node) {
         this.nodes.add(node);
     }
 
-    public GraphNode getEntryNode() throws NoEntryNodeException  {
+    public GraphNode getEntryNode() throws NoEntryNodeException {
         return getEntryNode("");
     }
 
@@ -81,13 +81,13 @@ public class Graph {
         int i = 0;
         GraphNode graphNode = null;
 
-        while((i < relations.size()) && (null == graphNode)){
+        while ((i < relations.size()) && (null == graphNode)) {
             graphNode = getEntryNode(this.relations.get(i), graphNumber);
             i++;
         }
 
         // we may not have found it, because the entry node is isolated (no relation...)
-        if ((null == graphNode) && (1 == this.nodes.size()) && (this.nodes.get(0).isEntryNode())){
+        if ((null == graphNode) && (1 == this.nodes.size()) && (this.nodes.get(0).isEntryNode())) {
             graphNode = this.nodes.get(0);
         }
 
@@ -103,10 +103,10 @@ public class Graph {
         return InternalToString();
     }
 
-    protected String InternalToString(){
+    protected String InternalToString() {
         StringBuilder sb = new StringBuilder();
 
-        if(this.relations.isEmpty() && !this.nodes.isEmpty()){
+        if (this.relations.isEmpty() && !this.nodes.isEmpty()) {
             sb.append("[W]")
                     .append(this.convertNodesToString())
                     .append("[/W]");
@@ -134,7 +134,7 @@ public class Graph {
         for (GraphNode graphNode :
                 this.nodes) {
             strBuilder.append(graphNode.toString())
-            .append("\n");
+                    .append("\n");
         }
 
         return strBuilder.toString();
diff --git a/unl-parser/src/main/java/unl/GraphExporter.java b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/GraphExporter.java
similarity index 79%
rename from unl-parser/src/main/java/unl/GraphExporter.java
rename to unl-parser/src/main/java/fr/tetras_libre/unltools/unl/GraphExporter.java
index 2f1b927c0414920a793d89c723ea3a95741b7781..a61a61ba3548037645d64010e632c4d9f390e55a 100644
--- a/unl-parser/src/main/java/unl/GraphExporter.java
+++ b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/GraphExporter.java
@@ -1,4 +1,4 @@
-package unl;
+package fr.tetras_libre.unltools.unl;
 
 import java.io.IOException;
 import java.util.List;
diff --git a/unl-parser/src/main/java/unl/GraphNode.java b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/GraphNode.java
similarity index 64%
rename from unl-parser/src/main/java/unl/GraphNode.java
rename to unl-parser/src/main/java/fr/tetras_libre/unltools/unl/GraphNode.java
index 11e1262729a127d0ac437d52ab8670366941e8f2..45c744ac979735954a46f751907dbc90bcde676c 100644
--- a/unl-parser/src/main/java/unl/GraphNode.java
+++ b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/GraphNode.java
@@ -1,15 +1,15 @@
-package unl;
+package fr.tetras_libre.unltools.unl;
 
 import java.util.Set;
 import java.util.TreeSet;
 
 public abstract class GraphNode {
     private static final String entryAttribute = ".@entry";
-    private final Set attributes;
+    private final Set<String> attributes;
     private int nodeNumber;
 
-    public GraphNode(Set attributes) {
-        this.attributes = null == attributes ? new TreeSet() : attributes;
+    public GraphNode(Set<String> attributes) {
+        this.attributes = null == attributes ? new TreeSet<>() : attributes;
     }
 
     public int setNodeNumber(int nodeNumber) {
@@ -20,7 +20,7 @@ public abstract class GraphNode {
         return nodeNumber;
     }
 
-    public Set getAttributes() {
+    public Set<String> getAttributes() {
         return attributes;
     }
 
@@ -31,12 +31,12 @@ public abstract class GraphNode {
     public abstract String getNodeId();
 
     @Override
-    public boolean equals(Object other){
-       if(null == other) return false;
-       if(other == this) return true;
-       if(!(other instanceof GraphNode)) return false;
+    public boolean equals(Object other) {
+        if (null == other) return false;
+        if (other == this) return true;
+        if (!(other instanceof GraphNode)) return false;
 
-       return this.CreateEqualityBuilder().isEqual(((GraphNode)other).CreateEqualityBuilder());
+        return this.CreateEqualityBuilder().isEqual(((GraphNode) other).CreateEqualityBuilder());
     }
 
     @Override
@@ -45,13 +45,12 @@ public abstract class GraphNode {
                 .toHashCode();
     }
 
-    private HashCodeBuilder CreateHashCodeBuilder(){
+    private HashCodeBuilder CreateHashCodeBuilder() {
         return this.InternalCreateHashCodeBuilder();
     }
 
-    private EqualsBuilder CreateEqualityBuilder()
-    {
-            return this.InternalCreateEqualityBuilder();
+    private EqualsBuilder CreateEqualityBuilder() {
+        return this.InternalCreateEqualityBuilder();
     }
 
     protected EqualsBuilder InternalCreateEqualityBuilder() {
diff --git a/unl-parser/src/main/java/unl/GraphRelation.java b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/GraphRelation.java
similarity index 93%
rename from unl-parser/src/main/java/unl/GraphRelation.java
rename to unl-parser/src/main/java/fr/tetras_libre/unltools/unl/GraphRelation.java
index 2d90309e6f341d264cfa2c50151b0a9a86bd7d6c..bbd12483d008989f880e59c1965589b6b0eea689 100644
--- a/unl-parser/src/main/java/unl/GraphRelation.java
+++ b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/GraphRelation.java
@@ -1,13 +1,13 @@
-package unl;
+package fr.tetras_libre.unltools.unl;
 
 public class GraphRelation {
-    private GraphNode node2;
     private final String relationLabel;
     private final String SubGraphReferenceLabel;
+    private GraphNode node2;
     private GraphNode node1;
 
     public GraphRelation(GraphNode node1, GraphNode node2, String relationLabel) {
-        this(node1, node2, relationLabel,  "");
+        this(node1, node2, relationLabel, "");
     }
 
     public GraphRelation(GraphNode node1, GraphNode node2, String relationLabel, String subGraphReferenceLabel) {
diff --git a/unl-parser/src/main/java/unl/HashCodeBuilder.java b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/HashCodeBuilder.java
similarity index 64%
rename from unl-parser/src/main/java/unl/HashCodeBuilder.java
rename to unl-parser/src/main/java/fr/tetras_libre/unltools/unl/HashCodeBuilder.java
index 3e5798d0479eeaecfea14f7b51baa8d67b1bad8a..5822991cadb771ce48764b3e1849b38e7a509add 100644
--- a/unl-parser/src/main/java/unl/HashCodeBuilder.java
+++ b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/HashCodeBuilder.java
@@ -1,22 +1,22 @@
-package unl;
+package fr.tetras_libre.unltools.unl;
 
 import java.util.Vector;
 
 public class HashCodeBuilder {
     private Vector<Object> elements;
 
-    HashCodeBuilder(){
+    HashCodeBuilder() {
         elements = new Vector<>();
     }
 
-    public HashCodeBuilder append(Object o){
+    public HashCodeBuilder append(Object o) {
         elements.add(o);
         return this;
     }
 
-    public int toHashCode(){
+    public int toHashCode() {
         int hash = 391;
-        for (Object element: this.elements) {
+        for (Object element : this.elements) {
             hash = 391 * hash + (element == null ? 0 : element.hashCode());
         }
         return hash;
diff --git a/unl-parser/src/main/java/unl/NoEntryNodeException.java b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/NoEntryNodeException.java
similarity index 78%
rename from unl-parser/src/main/java/unl/NoEntryNodeException.java
rename to unl-parser/src/main/java/fr/tetras_libre/unltools/unl/NoEntryNodeException.java
index 5f8996cbae72ee34abac8530d822cd58ffe4acdf..45dbcf44aa871fd715c3d6a5e62de84b303344ee 100644
--- a/unl-parser/src/main/java/unl/NoEntryNodeException.java
+++ b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/NoEntryNodeException.java
@@ -1,4 +1,4 @@
-package unl;
+package fr.tetras_libre.unltools.unl;
 
 public class NoEntryNodeException extends Exception {
     public NoEntryNodeException(String message) {
diff --git a/unl-parser/src/main/java/unl/Restriction.java b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/Restriction.java
similarity index 95%
rename from unl-parser/src/main/java/unl/Restriction.java
rename to unl-parser/src/main/java/fr/tetras_libre/unltools/unl/Restriction.java
index 31188686cfdb0dec55d0c6cfbe2f280c1f0494ae..35fdfe7074d78838e183845562c7229262d0d429 100644
--- a/unl-parser/src/main/java/unl/Restriction.java
+++ b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/Restriction.java
@@ -1,4 +1,4 @@
-package unl;
+package fr.tetras_libre.unltools.unl;
 
 public class Restriction implements Comparable<Restriction> {
     private String label;
@@ -8,7 +8,7 @@ public class Restriction implements Comparable<Restriction> {
 
     private UniversalWord universalWord;
 
-    public Restriction(){
+    public Restriction() {
         this("", ' ', null);
     }
 
diff --git a/unl-parser/src/main/java/unl/SubGraphReferenceNode.java b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/SubGraphReferenceNode.java
similarity index 84%
rename from unl-parser/src/main/java/unl/SubGraphReferenceNode.java
rename to unl-parser/src/main/java/fr/tetras_libre/unltools/unl/SubGraphReferenceNode.java
index d81d89f16be5a4b899e64e6f2c23f105d22a7723..c98206da4297fcdce71370dae49c1018400d6f06 100644
--- a/unl-parser/src/main/java/unl/SubGraphReferenceNode.java
+++ b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/SubGraphReferenceNode.java
@@ -1,4 +1,4 @@
-package unl;
+package fr.tetras_libre.unltools.unl;
 
 import java.util.Set;
 import java.util.TreeSet;
@@ -7,10 +7,10 @@ public class SubGraphReferenceNode extends GraphNode {
     private final String referenceNumber;
 
     public SubGraphReferenceNode(String referenceNumber) {
-        this(referenceNumber, new TreeSet());
+        this(referenceNumber, new TreeSet<>());
     }
 
-    public SubGraphReferenceNode(String referenceNumber, Set attributes) {
+    public SubGraphReferenceNode(String referenceNumber, Set<String> attributes) {
         super(attributes);
         this.referenceNumber = referenceNumber;
     }
@@ -36,7 +36,6 @@ public class SubGraphReferenceNode extends GraphNode {
     }
 
 
-
     @Override
     public String toString() {
         return String.format("%s%s", this.referenceNumber, super.toString());
diff --git a/unl-parser/src/main/java/unl/UniversalWord.java b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/UniversalWord.java
similarity index 84%
rename from unl-parser/src/main/java/unl/UniversalWord.java
rename to unl-parser/src/main/java/fr/tetras_libre/unltools/unl/UniversalWord.java
index b391b95591d61614cdc3c9350e8507e7108547c8..b26d122c4c0aac20ac0cc55506b6ee42001407b5 100644
--- a/unl-parser/src/main/java/unl/UniversalWord.java
+++ b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/UniversalWord.java
@@ -1,4 +1,4 @@
-package unl;
+package fr.tetras_libre.unltools.unl;
 
 import java.util.Set;
 import java.util.SortedSet;
@@ -21,6 +21,25 @@ public class UniversalWord {
         this.restrictions = restrictions;
     }
 
+    /**
+     * Get the headword of string that represent universalWord
+     *
+     * @param universalWord the universalWord string to parse
+     * @return the headword of universalWord string
+     * @throws IllegalArgumentException the parameter is null or is whitespaces
+     */
+    public static String getHeadword(String universalWord) {
+        if (null == universalWord || universalWord.trim().equals(""))
+            throw new IllegalArgumentException("universalWord should not be whitespaces or null");
+
+        int parenthesisPosition = universalWord.indexOf("(");
+        if (parenthesisPosition > 0) {
+            return universalWord.substring(0, parenthesisPosition);
+        }
+
+        return universalWord;
+    }
+
     public String getHeadword() {
         return headword;
     }
@@ -29,7 +48,7 @@ public class UniversalWord {
         return restrictions;
     }
 
-    public boolean addRestriction(Restriction restriction){
+    public boolean addRestriction(Restriction restriction) {
         return restrictions.add(restriction);
     }
 
@@ -48,31 +67,13 @@ public class UniversalWord {
         return String.format("%s%s", headword, suffix);
     }
 
-    /**
-     * Get the headword of string that represent universalWord
-     * @param universalWord the universalWord string to parse
-     * @return the headword of universalWord string
-     * @throws IllegalArgumentException the parameter is null or is whitespaces
-     */
-    public static String getHeadword(String universalWord) {
-        if (null == universalWord || universalWord.trim().equals(""))
-            throw new IllegalArgumentException("universalWord should not be whitespaces or null");
-
-        int parenthesisPosition = universalWord.indexOf("(");
-        if (parenthesisPosition > 0) {
-            return universalWord.substring(0, parenthesisPosition);
-        }
-
-        return universalWord;
-    }
-
     @Override
     public boolean equals(Object obj) {
-        if(null == obj) {
+        if (null == obj) {
             return false;
         }
 
-        if(!(obj instanceof UniversalWord)) return false;
+        if (!(obj instanceof UniversalWord)) return false;
 
         return equals((UniversalWord) obj);
     }
@@ -80,10 +81,10 @@ public class UniversalWord {
     private boolean equals(UniversalWord other) {
         boolean result = this.headword.equals(other.headword);
 
-        result  = result && (
+        result = result && (
                 ((this.restrictions == null || this.restrictions.isEmpty()) && (other.restrictions == null || other.restrictions.isEmpty()))
-                || (this.restrictions != null && this.restrictions.equals(other.restrictions))
-                || (other.restrictions != null && other.restrictions.equals(this.restrictions))
+                        || (this.restrictions != null && this.restrictions.equals(other.restrictions))
+                        || (other.restrictions != null && other.restrictions.equals(this.restrictions))
         );
 
         return result;
@@ -91,12 +92,13 @@ public class UniversalWord {
 
     /**
      * Test if th current universal word represent a number.
+     *
      * @return true if the current universal word is a number otherwise false.
      */
-    public boolean isNumber(){
+    public boolean isNumber() {
         try {
             return Integer.parseInt(headword, 10) != Integer.MIN_VALUE;
-        } catch (NumberFormatException e){
+        } catch (NumberFormatException e) {
             return false;
         }
     }
diff --git a/unl-parser/src/main/java/unl/UniversalWordNode.java b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/UniversalWordNode.java
similarity index 86%
rename from unl-parser/src/main/java/unl/UniversalWordNode.java
rename to unl-parser/src/main/java/fr/tetras_libre/unltools/unl/UniversalWordNode.java
index f0eb0f5e909d6bf04e89b9d10074f866fa2b6414..f839140a22b567e71b00407dfe3cc9d0e66bb6ed 100644
--- a/unl-parser/src/main/java/unl/UniversalWordNode.java
+++ b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/UniversalWordNode.java
@@ -1,4 +1,4 @@
-package unl;
+package fr.tetras_libre.unltools.unl;
 
 import java.util.Set;
 
@@ -6,13 +6,13 @@ public class UniversalWordNode extends GraphNode {
     private final UniversalWord universalWord;
     private final String instanceNumber;
 
-    public UniversalWordNode(UniversalWord universalWord, Set attributes, String instanceNumber) {
+    public UniversalWordNode(UniversalWord universalWord, Set<String> attributes, String instanceNumber) {
         super(attributes);
         this.universalWord = universalWord;
         this.instanceNumber = instanceNumber;
     }
 
-    public UniversalWordNode(UniversalWord universalWord, Set attributes) {
+    public UniversalWordNode(UniversalWord universalWord, Set<String> attributes) {
         this(universalWord, attributes, "");
     }
 
diff --git a/unl-parser/src/main/java/unl/UnlDocument.java b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/UnlDocument.java
similarity index 81%
rename from unl-parser/src/main/java/unl/UnlDocument.java
rename to unl-parser/src/main/java/fr/tetras_libre/unltools/unl/UnlDocument.java
index 97b5bb8a544402dbc60b3bf78d5aff9669ecc259..816ab213fef0493639ed39a0aacb7f2ee1b9b199 100644
--- a/unl-parser/src/main/java/unl/UnlDocument.java
+++ b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/UnlDocument.java
@@ -1,4 +1,4 @@
-package unl;
+package fr.tetras_libre.unltools.unl;
 
 import java.util.Collection;
 import java.util.Vector;
@@ -8,11 +8,11 @@ public class UnlDocument {
     private final Vector<UnlDocumentNode> docElements;
     private String error;
 
-    public UnlDocument(){
+    public UnlDocument() {
         this("[D]", new Vector<>());
     }
 
-    public UnlDocument(String docLabel){
+    public UnlDocument(String docLabel) {
         this(docLabel, new Vector<>());
     }
 
@@ -20,7 +20,7 @@ public class UnlDocument {
         this(docLabel, new Vector<>(docElements));
     }
 
-    public UnlDocument(String docLabel, Vector<UnlDocumentNode> docElements){
+    public UnlDocument(String docLabel, Vector<UnlDocumentNode> docElements) {
         this.docLabel = docLabel;
         this.docElements = docElements;
     }
@@ -37,15 +37,15 @@ public class UnlDocument {
         return error;
     }
 
-    public boolean HasError(){
-        return null != error; // && !error.trim().isEmpty();
-    }
-
     public void setError(String error) {
         this.error = error;
     }
 
-    public void add(UnlDocumentNode unlDocumentNode){
+    public boolean HasError() {
+        return null != error; // && !error.trim().isEmpty();
+    }
+
+    public void add(UnlDocumentNode unlDocumentNode) {
         this.docElements.add(unlDocumentNode);
     }
 
@@ -58,15 +58,15 @@ public class UnlDocument {
         StringBuilder sb = new StringBuilder();
 
         sb.append(docLabel);
-        if (hasError()){
+        if (hasError()) {
             sb.append(String.format("[ERROR]%s[/ERROR]\n", this.error));
         }
-        for (UnlDocumentNode unlDocElement: this.docElements) {
+        for (UnlDocumentNode unlDocElement : this.docElements) {
             sb.append(unlDocElement.toString())
                     .append("\n");
         }
         sb.append("[/D]")
-          .append("\n");
+                .append("\n");
 
         return sb.toString();
     }
diff --git a/unl-parser/src/main/java/unl/UnlDocumentNode.java b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/UnlDocumentNode.java
similarity index 90%
rename from unl-parser/src/main/java/unl/UnlDocumentNode.java
rename to unl-parser/src/main/java/fr/tetras_libre/unltools/unl/UnlDocumentNode.java
index ba81e0450f96c8ab6b6287f9ec19751080cef5db..2b7084175a6e1a2adf762a2df5d9474f9a90e231 100644
--- a/unl-parser/src/main/java/unl/UnlDocumentNode.java
+++ b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/UnlDocumentNode.java
@@ -1,4 +1,4 @@
-package unl;
+package fr.tetras_libre.unltools.unl;
 
 public class UnlDocumentNode {
 
@@ -21,7 +21,7 @@ public class UnlDocumentNode {
         this.graph = graph;
     }
 
-    public UnlDocumentNode(String error){
+    public UnlDocumentNode(String error) {
         this.error = error;
     }
 
@@ -37,25 +37,25 @@ public class UnlDocumentNode {
         return graph;
     }
 
-    public String getError() {
-        return error;
-    }
-
     public void setGraph(Graph graph) {
         this.graph = graph;
     }
 
+    public String getError() {
+        return error;
+    }
+
     public void setError(String error) {
         this.error = error;
     }
 
-    public boolean hasError(){
+    public boolean hasError() {
         return null != this.error && !this.error.trim().equals("");
     }
 
     @Override
     public String toString() {
-        switch (this.kindOfNode){
+        switch (this.kindOfNode) {
             case ParagraphStart:
                 return String.format("%s\n", this.docNodeLabel);
             case ParagraphEnd:
@@ -66,7 +66,7 @@ public class UnlDocumentNode {
                 return String.format("%s\n%s\n[/S]", this.docNodeLabel, this.graph.toString());
         }
 
-        if (this.hasError()){
+        if (this.hasError()) {
             return String.format("[S][ERROR]%s[/ERROR][/S]", this.error);
         }
 
diff --git a/unl-parser/src/main/java/unl/UnlDocumentNodeType.java b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/UnlDocumentNodeType.java
similarity index 72%
rename from unl-parser/src/main/java/unl/UnlDocumentNodeType.java
rename to unl-parser/src/main/java/fr/tetras_libre/unltools/unl/UnlDocumentNodeType.java
index 2fcf37172e039b977794684a9f550cccc3c2c390..c1cdc73f83fe4c5a609f5e05e072832fa9d002cd 100644
--- a/unl-parser/src/main/java/unl/UnlDocumentNodeType.java
+++ b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/UnlDocumentNodeType.java
@@ -1,4 +1,4 @@
-package unl;
+package fr.tetras_libre.unltools.unl;
 
 public enum UnlDocumentNodeType {
     ParagraphStart,
diff --git a/unl-parser/src/main/java/unl/parser/ParseException.java b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/parser/ParseException.java
similarity index 99%
rename from unl-parser/src/main/java/unl/parser/ParseException.java
rename to unl-parser/src/main/java/fr/tetras_libre/unltools/unl/parser/ParseException.java
index 95c01a16735e7875850a453c8ed31f4038932a26..c7e00a4369c455ff5316067e0ca2d788647980dc 100644
--- a/unl-parser/src/main/java/unl/parser/ParseException.java
+++ b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/parser/ParseException.java
@@ -1,6 +1,6 @@
 /* Generated By:JavaCC: Do not edit this line. ParseException.java Version 7.0 */
 /* JavaCCOptions:KEEP_LINE_COLUMN=true */
-package unl.parser;
+package fr.tetras_libre.unltools.unl.parser;
 
 /**
  * This exception is thrown when parse errors are encountered.
diff --git a/unl-parser/src/main/java/unl/parser/SimpleCharStream.java b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/parser/SimpleCharStream.java
similarity index 99%
rename from unl-parser/src/main/java/unl/parser/SimpleCharStream.java
rename to unl-parser/src/main/java/fr/tetras_libre/unltools/unl/parser/SimpleCharStream.java
index e5b4d34bf57335321a1c491940b47d13c40d4e4e..af0bccf5a78bb7e55070e1671327f615dba3b966 100644
--- a/unl-parser/src/main/java/unl/parser/SimpleCharStream.java
+++ b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/parser/SimpleCharStream.java
@@ -1,6 +1,6 @@
 /* Generated By:JavaCC: Do not edit this line. SimpleCharStream.java Version 7.0 */
 /* JavaCCOptions:STATIC=false,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */
-package unl.parser;
+package fr.tetras_libre.unltools.unl.parser;
 
 /**
  * An implementation of interface CharStream, where the stream is assumed to
diff --git a/unl-parser/src/main/java/unl/parser/Token.java b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/parser/Token.java
similarity index 98%
rename from unl-parser/src/main/java/unl/parser/Token.java
rename to unl-parser/src/main/java/fr/tetras_libre/unltools/unl/parser/Token.java
index 2df57a626b3adcd05113ea28eb7676c93647824f..2aa80bb25e2c49d2abd4e8885dff5f541b68f4dd 100644
--- a/unl-parser/src/main/java/unl/parser/Token.java
+++ b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/parser/Token.java
@@ -1,6 +1,6 @@
 /* Generated By:JavaCC: Do not edit this line. Token.java Version 7.0 */
 /* JavaCCOptions:TOKEN_EXTENDS=,KEEP_LINE_COLUMN=true,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */
-package unl.parser;
+package fr.tetras_libre.unltools.unl.parser;
 
 /**
  * Describes the input token stream.
diff --git a/unl-parser/src/main/java/unl/parser/TokenMgrError.java b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/parser/TokenMgrError.java
similarity index 98%
rename from unl-parser/src/main/java/unl/parser/TokenMgrError.java
rename to unl-parser/src/main/java/fr/tetras_libre/unltools/unl/parser/TokenMgrError.java
index c4986ca6398d3ed11a4ae8e050fafa80e131235c..4a8e59a464c9278d0c551fc89e5f3d0e32f92a43 100644
--- a/unl-parser/src/main/java/unl/parser/TokenMgrError.java
+++ b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/parser/TokenMgrError.java
@@ -1,6 +1,6 @@
 /* Generated By:JavaCC: Do not edit this line. TokenMgrError.java Version 7.0 */
 /* JavaCCOptions: */
-package unl.parser;
+package fr.tetras_libre.unltools.unl.parser;
 
 /** Token Manager Error. */
 public class TokenMgrError extends Error
diff --git a/unl-parser/src/main/java/unl/parser/UnlParser.java b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/parser/UnlParser.java
similarity index 99%
rename from unl-parser/src/main/java/unl/parser/UnlParser.java
rename to unl-parser/src/main/java/fr/tetras_libre/unltools/unl/parser/UnlParser.java
index 137a92516c76e23ccc701e93a9fcd9d162f98684..4889a853c58d0151527c1d4fb42d577b416dc93f 100644
--- a/unl-parser/src/main/java/unl/parser/UnlParser.java
+++ b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/parser/UnlParser.java
@@ -1,8 +1,8 @@
 /* UnlParser.java */
 /* Generated By:JavaCC: Do not edit this line. UnlParser.java */
-package unl.parser;
+package fr.tetras_libre.unltools.unl.parser;
 
-import unl.*;
+import fr.tetras_libre.unltools.unl.*;
 
 import java.util.Set;
 import java.util.SortedSet;
diff --git a/unl-parser/src/main/java/unl/parser/UnlParser.jj b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/parser/UnlParser.jj
similarity index 99%
rename from unl-parser/src/main/java/unl/parser/UnlParser.jj
rename to unl-parser/src/main/java/fr/tetras_libre/unltools/unl/parser/UnlParser.jj
index cbfb2889616338abc5dc8c80a7ab2d1fb5013111..a05304d4e80f8642e6cab2d74dd3a12049c69be0 100644
--- a/unl-parser/src/main/java/unl/parser/UnlParser.jj
+++ b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/parser/UnlParser.jj
@@ -35,7 +35,7 @@ options {
 
 PARSER_BEGIN(UnlParser)
 
-package unl.parser;
+package fr.tetras_libre.unltools.unl.parser;
 
 import java.io.FileInputStream;
 import java.io.BufferedReader;
@@ -44,7 +44,7 @@ import java.util.SortedSet;
 import java.util.TreeSet;
 import java.util.Set;
 import java.util.Vector;
-import unl.*;
+import fr.tetras_libre.unltools.unl.*;
 
 public class UnlParser {
 
diff --git a/unl-parser/src/main/java/unl/parser/UnlParserConstants.java b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/parser/UnlParserConstants.java
similarity index 98%
rename from unl-parser/src/main/java/unl/parser/UnlParserConstants.java
rename to unl-parser/src/main/java/fr/tetras_libre/unltools/unl/parser/UnlParserConstants.java
index 80dd8d65a8c17cb3473eac3262d8fb85795d9087..b71a15c5610bf3632f2016475793e3564d112d58 100644
--- a/unl-parser/src/main/java/unl/parser/UnlParserConstants.java
+++ b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/parser/UnlParserConstants.java
@@ -1,5 +1,5 @@
 /* Generated By:JavaCC: Do not edit this line. UnlParserConstants.java */
-package unl.parser;
+package fr.tetras_libre.unltools.unl.parser;
 
 
 /**
diff --git a/unl-parser/src/main/java/unl/parser/UnlParserTokenManager.java b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/parser/UnlParserTokenManager.java
similarity index 99%
rename from unl-parser/src/main/java/unl/parser/UnlParserTokenManager.java
rename to unl-parser/src/main/java/fr/tetras_libre/unltools/unl/parser/UnlParserTokenManager.java
index e682c2f3c3c44b07a3c53bb49c145a66d0485666..b84e9b6f78aa7b2cb5db2697a08d94706b94aaa6 100644
--- a/unl-parser/src/main/java/unl/parser/UnlParserTokenManager.java
+++ b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/parser/UnlParserTokenManager.java
@@ -1,14 +1,6 @@
 /* UnlParserTokenManager.java */
 /* Generated By:JavaCC: Do not edit this line. UnlParserTokenManager.java */
-package unl.parser;
-import java.io.FileInputStream;
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.util.SortedSet;
-import java.util.TreeSet;
-import java.util.Set;
-import java.util.Vector;
-import unl.*;
+package fr.tetras_libre.unltools.unl.parser;
 
 /** Token Manager. */
 @SuppressWarnings ("unused")
diff --git a/unl-parser/src/main/java/unl/print/dotFile/DotFileBuilder.java b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/print/dotFile/DotFileBuilder.java
similarity index 97%
rename from unl-parser/src/main/java/unl/print/dotFile/DotFileBuilder.java
rename to unl-parser/src/main/java/fr/tetras_libre/unltools/unl/print/dotFile/DotFileBuilder.java
index b4e12e9082d75b7af5319a4cf81902607ec5a0d8..133bbd22145336f98bb042ac09ee3536153c6dc7 100644
--- a/unl-parser/src/main/java/unl/print/dotFile/DotFileBuilder.java
+++ b/unl-parser/src/main/java/fr/tetras_libre/unltools/unl/print/dotFile/DotFileBuilder.java
@@ -1,6 +1,6 @@
-package unl.print.dotFile;
+package fr.tetras_libre.unltools.unl.print.dotFile;
 
-import unl.*;
+import fr.tetras_libre.unltools.unl.*;
 
 import java.io.IOException;
 import java.io.Writer;
@@ -192,7 +192,7 @@ public class DotFileBuilder implements GraphExporter {
     @Override
     public void write(List<UnlDocument> documents) throws IOException {
         for (var document : documents) {
-            for(var documentNode: document.getDocElements()){
+            for (var documentNode : document.getDocElements()) {
                 this.write(documentNode.getGraph());
             }
         }
diff --git a/unl-parser/src/test/java/unl/AllSetenceWithExpectedDotChecker.java b/unl-parser/src/test/java/fr/tetras_libre/unltools/unl/AllSetenceWithExpectedDotChecker.java
similarity index 99%
rename from unl-parser/src/test/java/unl/AllSetenceWithExpectedDotChecker.java
rename to unl-parser/src/test/java/fr/tetras_libre/unltools/unl/AllSetenceWithExpectedDotChecker.java
index c8d7645836858a448c424c2bb2f96025148bb2b3..60bd471cc04bcdc36e2cbcdeea080ed63ad1aed5 100644
--- a/unl-parser/src/test/java/unl/AllSetenceWithExpectedDotChecker.java
+++ b/unl-parser/src/test/java/fr/tetras_libre/unltools/unl/AllSetenceWithExpectedDotChecker.java
@@ -1,4 +1,4 @@
-package unl;
+package fr.tetras_libre.unltools.unl;
 
 public class AllSetenceWithExpectedDotChecker extends SentenceWithExpectedDotChecker {
     private static final String ALL = "[D]" +
@@ -172,6 +172,6 @@ public class AllSetenceWithExpectedDotChecker extends SentenceWithExpectedDotChe
             "}\n";
 
     public AllSetenceWithExpectedDotChecker() {
-        super(ALL,ALL_DOT);
+        super(ALL, ALL_DOT);
     }
 }
diff --git a/unl-parser/src/test/java/unl/CatSentenceWithExpectedDotChecker.java b/unl-parser/src/test/java/fr/tetras_libre/unltools/unl/CatSentenceWithExpectedDotChecker.java
similarity index 97%
rename from unl-parser/src/test/java/unl/CatSentenceWithExpectedDotChecker.java
rename to unl-parser/src/test/java/fr/tetras_libre/unltools/unl/CatSentenceWithExpectedDotChecker.java
index dd33d947d7f3d33311b8c0d9b4d8a41fdc188350..4d398d2ba188013ecfed92bab9d46c3a9dc1177c 100644
--- a/unl-parser/src/test/java/unl/CatSentenceWithExpectedDotChecker.java
+++ b/unl-parser/src/test/java/fr/tetras_libre/unltools/unl/CatSentenceWithExpectedDotChecker.java
@@ -1,4 +1,4 @@
-package unl;
+package fr.tetras_libre.unltools.unl;
 
 public class CatSentenceWithExpectedDotChecker extends SentenceWithExpectedDotChecker {
 
diff --git a/unl-parser/src/test/java/unl/EqualsBuilderTest.java b/unl-parser/src/test/java/fr/tetras_libre/unltools/unl/EqualsBuilderTest.java
similarity index 89%
rename from unl-parser/src/test/java/unl/EqualsBuilderTest.java
rename to unl-parser/src/test/java/fr/tetras_libre/unltools/unl/EqualsBuilderTest.java
index 4dd624009d2b797394f45d81f493b5131a8fbf59..c6e0a2bd38de304ced67e07471d18596bc91406a 100644
--- a/unl-parser/src/test/java/unl/EqualsBuilderTest.java
+++ b/unl-parser/src/test/java/fr/tetras_libre/unltools/unl/EqualsBuilderTest.java
@@ -1,10 +1,8 @@
-package unl;
+package fr.tetras_libre.unltools.unl;
 
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import static org.junit.jupiter.api.Assertions.*;
-
 class EqualsBuilderTest {
 
     @Test
diff --git a/unl-parser/src/test/java/unl/R1SentenceWithExpectedDotChecker.java b/unl-parser/src/test/java/fr/tetras_libre/unltools/unl/R1SentenceWithExpectedDotChecker.java
similarity index 98%
rename from unl-parser/src/test/java/unl/R1SentenceWithExpectedDotChecker.java
rename to unl-parser/src/test/java/fr/tetras_libre/unltools/unl/R1SentenceWithExpectedDotChecker.java
index b353e9ff01ded87885fb88d6adb755df9d543a5f..39601661872053bdbd59ee07a0e9206d05ad8d60 100644
--- a/unl-parser/src/test/java/unl/R1SentenceWithExpectedDotChecker.java
+++ b/unl-parser/src/test/java/fr/tetras_libre/unltools/unl/R1SentenceWithExpectedDotChecker.java
@@ -1,4 +1,4 @@
-package unl;
+package fr.tetras_libre.unltools.unl;
 
 public class R1SentenceWithExpectedDotChecker extends SentenceWithExpectedDotChecker {
     private static final String R1_UNL = "[D]\n" +
diff --git a/unl-parser/src/test/java/unl/R2SentenceWithExpectedDotChecker.java b/unl-parser/src/test/java/fr/tetras_libre/unltools/unl/R2SentenceWithExpectedDotChecker.java
similarity index 98%
rename from unl-parser/src/test/java/unl/R2SentenceWithExpectedDotChecker.java
rename to unl-parser/src/test/java/fr/tetras_libre/unltools/unl/R2SentenceWithExpectedDotChecker.java
index 6a53a5068042e86c94db50d4c2a6493c3b9f380a..141d786c2a8d37075b65bcedaddf9c72c70ae143 100644
--- a/unl-parser/src/test/java/unl/R2SentenceWithExpectedDotChecker.java
+++ b/unl-parser/src/test/java/fr/tetras_libre/unltools/unl/R2SentenceWithExpectedDotChecker.java
@@ -1,4 +1,4 @@
-package unl;
+package fr.tetras_libre.unltools.unl;
 
 public class R2SentenceWithExpectedDotChecker extends SentenceWithExpectedDotChecker {
     private static final String R2_UNL = "[D]\n" +
diff --git a/unl-parser/src/test/java/unl/SentenceWithExpectedDotArgumentProvider.java b/unl-parser/src/test/java/fr/tetras_libre/unltools/unl/SentenceWithExpectedDotArgumentProvider.java
similarity index 90%
rename from unl-parser/src/test/java/unl/SentenceWithExpectedDotArgumentProvider.java
rename to unl-parser/src/test/java/fr/tetras_libre/unltools/unl/SentenceWithExpectedDotArgumentProvider.java
index 7eb6b298ff6029fbcb13028d249185fefe7ccf74..f8a239dfe1ffefd7480d0966b5cd3915d3085824 100644
--- a/unl-parser/src/test/java/unl/SentenceWithExpectedDotArgumentProvider.java
+++ b/unl-parser/src/test/java/fr/tetras_libre/unltools/unl/SentenceWithExpectedDotArgumentProvider.java
@@ -1,4 +1,4 @@
-package unl;
+package fr.tetras_libre.unltools.unl;
 
 import org.junit.jupiter.api.extension.ExtensionContext;
 import org.junit.jupiter.params.provider.Arguments;
@@ -8,7 +8,7 @@ import java.util.stream.Stream;
 
 public class SentenceWithExpectedDotArgumentProvider implements ArgumentsProvider {
     @Override
-    public Stream<? extends Arguments> provideArguments(ExtensionContext extensionContext) throws Exception {
+    public Stream<? extends Arguments> provideArguments(ExtensionContext extensionContext) {
         return Stream.of(Arguments.of(new R1SentenceWithExpectedDotChecker()),
                 Arguments.of(new R2SentenceWithExpectedDotChecker()),
                 Arguments.of(new CatSentenceWithExpectedDotChecker()),
diff --git a/unl-parser/src/test/java/unl/SentenceWithExpectedDotChecker.java b/unl-parser/src/test/java/fr/tetras_libre/unltools/unl/SentenceWithExpectedDotChecker.java
similarity index 97%
rename from unl-parser/src/test/java/unl/SentenceWithExpectedDotChecker.java
rename to unl-parser/src/test/java/fr/tetras_libre/unltools/unl/SentenceWithExpectedDotChecker.java
index 613d75e1000c697f765b76768313f000e787d4ae..93b691de260eab2c65d41b4e45f703c1b54145dd 100644
--- a/unl-parser/src/test/java/unl/SentenceWithExpectedDotChecker.java
+++ b/unl-parser/src/test/java/fr/tetras_libre/unltools/unl/SentenceWithExpectedDotChecker.java
@@ -1,4 +1,4 @@
-package unl;
+package fr.tetras_libre.unltools.unl;
 
 import org.junit.jupiter.api.Assertions;
 
diff --git a/unl-parser/src/test/java/unl/parser/UnlParserFactory.java b/unl-parser/src/test/java/fr/tetras_libre/unltools/unl/parser/UnlParserFactory.java
similarity index 60%
rename from unl-parser/src/test/java/unl/parser/UnlParserFactory.java
rename to unl-parser/src/test/java/fr/tetras_libre/unltools/unl/parser/UnlParserFactory.java
index 76833685d17fedb58fc622950aea5eb4c93377fb..56981989e44e25fca856878cce98758a726b766c 100644
--- a/unl-parser/src/test/java/unl/parser/UnlParserFactory.java
+++ b/unl-parser/src/test/java/fr/tetras_libre/unltools/unl/parser/UnlParserFactory.java
@@ -1,4 +1,4 @@
-package unl.parser;
+package fr.tetras_libre.unltools.unl.parser;
 
 public interface UnlParserFactory {
     WrapperUnlParser create();
diff --git a/unl-parser/src/test/java/unl/parser/UnlParserFactoryFromString.java b/unl-parser/src/test/java/fr/tetras_libre/unltools/unl/parser/UnlParserFactoryFromString.java
similarity index 82%
rename from unl-parser/src/test/java/unl/parser/UnlParserFactoryFromString.java
rename to unl-parser/src/test/java/fr/tetras_libre/unltools/unl/parser/UnlParserFactoryFromString.java
index 56d41a9eb2be708cfdbd347467a5bb74c0b4df83..a4a6540c9a3d987f8894366c7caa4fa039241a5f 100644
--- a/unl-parser/src/test/java/unl/parser/UnlParserFactoryFromString.java
+++ b/unl-parser/src/test/java/fr/tetras_libre/unltools/unl/parser/UnlParserFactoryFromString.java
@@ -1,4 +1,4 @@
-package unl.parser;
+package fr.tetras_libre.unltools.unl.parser;
 
 import java.io.BufferedReader;
 import java.io.StringReader;
@@ -11,7 +11,7 @@ public class UnlParserFactoryFromString implements UnlParserFactory {
         this.stringToParse = stringToParse;
     }
 
-    public WrapperUnlParser create(){
+    public WrapperUnlParser create() {
         return new WrapperUnlParser(new BufferedReader(new StringReader(stringToParse)));
     }
 }
diff --git a/unl-parser/src/test/java/unl/parser/UnlParserTest.java b/unl-parser/src/test/java/fr/tetras_libre/unltools/unl/parser/UnlParserTest.java
similarity index 76%
rename from unl-parser/src/test/java/unl/parser/UnlParserTest.java
rename to unl-parser/src/test/java/fr/tetras_libre/unltools/unl/parser/UnlParserTest.java
index 9fc8a781749ae31a4836ba7916c320fcc8525f6e..ff62eaa5989bf05b825fbd28fc1d9ddd344dc933 100644
--- a/unl-parser/src/test/java/unl/parser/UnlParserTest.java
+++ b/unl-parser/src/test/java/fr/tetras_libre/unltools/unl/parser/UnlParserTest.java
@@ -1,11 +1,11 @@
-package unl.parser;
+package fr.tetras_libre.unltools.unl.parser;
 
+import fr.tetras_libre.unltools.unl.SentenceWithExpectedDotArgumentProvider;
+import fr.tetras_libre.unltools.unl.SentenceWithExpectedDotChecker;
+import fr.tetras_libre.unltools.unl.UnlDocument;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.ArgumentsSource;
-import unl.SentenceWithExpectedDotArgumentProvider;
-import unl.SentenceWithExpectedDotChecker;
-import unl.UnlDocument;
 
 import java.util.concurrent.atomic.AtomicReference;
 
@@ -13,18 +13,18 @@ class UnlParserTest {
 
     @ParameterizedTest
     @ArgumentsSource(SentenceWithExpectedDotArgumentProvider.class)
-    void UnlParserShouldParseSimpleSentenceWithoutException(SentenceWithExpectedDotChecker input){
+    void UnlParserShouldParseSimpleSentenceWithoutException(SentenceWithExpectedDotChecker input) {
         UnlParserFactory unlFactory = new UnlParserFactoryFromString(input.getUnlSentence());
         createAndCheckUnlParserValidity(unlFactory);
     }
 
     @ParameterizedTest
     @ArgumentsSource(SentenceWithExpectedDotArgumentProvider.class)
-    void UnlDocumentsShouldBeSerializedToStringWithoutException(SentenceWithExpectedDotChecker input){
+    void UnlDocumentsShouldBeSerializedToStringWithoutException(SentenceWithExpectedDotChecker input) {
         UnlParserFactory unlFactory = new UnlParserFactoryFromString(input.getUnlSentence());
         WrapperUnlParser wrapper = createAndCheckUnlParserValidity(unlFactory);
 
-        for(UnlDocument unlDocument : wrapper.getUnlDocumentList()){
+        for (UnlDocument unlDocument : wrapper.getUnlDocumentList()) {
             AtomicReference<String> stringOfUnlDocument = new AtomicReference<>();
             Assertions.assertDoesNotThrow(() -> stringOfUnlDocument.set(unlDocument.toString()));
         }
@@ -32,12 +32,13 @@ class UnlParserTest {
 
     /**
      * Check validity of parser:
-     *     - It checks the creation of parser
-     *     - It checks the content of document doesn't contain an error
+     * - It checks the creation of parser
+     * - It checks the content of document doesn't contain an error
+     *
      * @param factory A factory of UnlParser
      * @return An unlParserWrapper
      */
-    WrapperUnlParser createAndCheckUnlParserValidity(UnlParserFactory factory){
+    WrapperUnlParser createAndCheckUnlParserValidity(UnlParserFactory factory) {
         AtomicReference<WrapperUnlParser> unlParser = new AtomicReference<>();
 
         Assertions.assertDoesNotThrow(() -> unlParser.set(factory.create()), "");
diff --git a/unl-parser/src/test/java/unl/parser/WrapperUnlParser.java b/unl-parser/src/test/java/fr/tetras_libre/unltools/unl/parser/WrapperUnlParser.java
similarity index 80%
rename from unl-parser/src/test/java/unl/parser/WrapperUnlParser.java
rename to unl-parser/src/test/java/fr/tetras_libre/unltools/unl/parser/WrapperUnlParser.java
index a3b6cd3a70eec9bc50ea03b377a35d9f8694abff..054fa22bcb57b8c828df85aab5574cca994b436d 100644
--- a/unl-parser/src/test/java/unl/parser/WrapperUnlParser.java
+++ b/unl-parser/src/test/java/fr/tetras_libre/unltools/unl/parser/WrapperUnlParser.java
@@ -1,12 +1,13 @@
-package unl.parser;
+package fr.tetras_libre.unltools.unl.parser;
+
+import fr.tetras_libre.unltools.unl.UnlDocument;
 
-import unl.UnlDocument;
 import java.util.Vector;
 
 public class WrapperUnlParser {
+    private final UnlParser parser;
     private Vector<UnlDocument> documents;
     private ErrorCollection errors;
-    private final UnlParser parser;
 
     public WrapperUnlParser(java.io.Reader stream) {
         this.parser = new UnlParser(stream);
@@ -19,7 +20,7 @@ public class WrapperUnlParser {
         return this.documents;
     }
 
-    private void initializeIfNecessary(){
+    private void initializeIfNecessary() {
         if (null == this.documents) {
             initialize();
         }
@@ -29,8 +30,8 @@ public class WrapperUnlParser {
         this.errors = new ErrorCollection(false);
         try {
             this.documents = this.parser.createUnlDocumentList();
-            for (UnlDocument document: this.documents) {
-                if(document.HasError()) {
+            for (UnlDocument document : this.documents) {
+                if (document.HasError()) {
                     this.errors.addError(document.getError());
                 }
             }
@@ -50,12 +51,12 @@ public class WrapperUnlParser {
         }
     }
 
-    public boolean hasError(){
+    public boolean hasError() {
         initializeIfNecessary();
         return errors.hasError;
     }
 
-    public Vector<String> getErrors(){
+    public Vector<String> getErrors() {
         initializeIfNecessary();
         return errors.errors;
     }
@@ -69,10 +70,9 @@ public class WrapperUnlParser {
             errors = new Vector<>();
         }
 
-        public void addError(String error){
+        public void addError(String error) {
             hasError = true;
-            if (!this.errors.contains(error))
-            {
+            if (!this.errors.contains(error)) {
                 this.errors.add(error);
             }
         }
diff --git a/unl-parser/src/test/java/unl/print/dotFile/DotFileBuilderTest.java b/unl-parser/src/test/java/fr/tetras_libre/unltools/unl/print/dotFile/DotFileBuilderTest.java
similarity index 95%
rename from unl-parser/src/test/java/unl/print/dotFile/DotFileBuilderTest.java
rename to unl-parser/src/test/java/fr/tetras_libre/unltools/unl/print/dotFile/DotFileBuilderTest.java
index b192cf971d30f8deb7ac394b402f9d7b9589b5e1..3ec313b0088c404fa826b3f95dcd44b3634a6fac 100644
--- a/unl-parser/src/test/java/unl/print/dotFile/DotFileBuilderTest.java
+++ b/unl-parser/src/test/java/fr/tetras_libre/unltools/unl/print/dotFile/DotFileBuilderTest.java
@@ -1,11 +1,11 @@
-package unl.print.dotFile;
+package fr.tetras_libre.unltools.unl.print.dotFile;
 
+import fr.tetras_libre.unltools.unl.*;
+import fr.tetras_libre.unltools.unl.parser.UnlParser;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.TestReporter;
 import org.junit.jupiter.api.io.TempDir;
-import unl.*;
-import unl.parser.UnlParser;
 
 import java.io.*;
 import java.nio.charset.StandardCharsets;
diff --git a/unl2rdf-app/src/main/java/unl2rdf/Unl2Rdf.java b/unl2rdf-app/src/main/java/unl2rdf/Unl2Rdf.java
index b2febffaa75e3da0efd7233b616b9cfd338dfccb..fb796a3890e4f03f678f72ed3b41e97cf139b080 100644
--- a/unl2rdf-app/src/main/java/unl2rdf/Unl2Rdf.java
+++ b/unl2rdf-app/src/main/java/unl2rdf/Unl2Rdf.java
@@ -1,13 +1,12 @@
 package unl2rdf;
 
 import fr.tetras_libre.unltools.rdf.vocabulary.RdfFileBuilder;
+import fr.tetras_libre.unltools.unl.GraphExporter;
+import fr.tetras_libre.unltools.unl.UnlDocument;
+import fr.tetras_libre.unltools.unl.parser.ParseException;
+import fr.tetras_libre.unltools.unl.parser.UnlParser;
+import fr.tetras_libre.unltools.unl.print.dotFile.DotFileBuilder;
 import picocli.CommandLine;
-import unl.GraphExporter;
-import unl.UnlDocument;
-import unl.UnlDocumentNode;
-import unl.parser.ParseException;
-import unl.parser.UnlParser;
-import unl.print.dotFile.DotFileBuilder;
 
 import java.io.BufferedReader;
 import java.io.FileWriter;
@@ -22,7 +21,7 @@ public class Unl2Rdf {
         try {
             CommandLine.ParseResult parseResult = new CommandLine(options).parseArgs(args);
 
-            if(!CommandLine.printHelpIfRequested(parseResult)){
+            if (!CommandLine.printHelpIfRequested(parseResult)) {
                 runProgram(options);
             }
         } catch (CommandLine.ParameterException e) {