diff --git a/libs/batik-anim-1.14.jar b/libs/batik-anim-1.14.jar
deleted file mode 100644
index a79660ed7b1eb0d73ccd7d4fa575e7df8b31dc0f..0000000000000000000000000000000000000000
Binary files a/libs/batik-anim-1.14.jar and /dev/null differ
diff --git a/libs/batik-awt-util.jar b/libs/batik-awt-util.jar
deleted file mode 100644
index 86c8edebde3d62e17541d219278f4361c2da9fe3..0000000000000000000000000000000000000000
Binary files a/libs/batik-awt-util.jar and /dev/null differ
diff --git a/libs/batik-codec.jar b/libs/batik-codec.jar
deleted file mode 100644
index f8540d56414f3f22ae59d6f6f87d8bc6bc172251..0000000000000000000000000000000000000000
Binary files a/libs/batik-codec.jar and /dev/null differ
diff --git a/libs/batik-constants.jar b/libs/batik-constants.jar
deleted file mode 100644
index 3e97d531f55fd08f04498495a0acdfa4f7c93ced..0000000000000000000000000000000000000000
Binary files a/libs/batik-constants.jar and /dev/null differ
diff --git a/libs/batik-dom.jar b/libs/batik-dom.jar
deleted file mode 100644
index 00abb495fa006c61fb4a58fe6da3a69073c1e846..0000000000000000000000000000000000000000
Binary files a/libs/batik-dom.jar and /dev/null differ
diff --git a/libs/batik-ext.jar b/libs/batik-ext.jar
deleted file mode 100644
index 16e1e06c71739dd6e7e76e1fcc6bb9a2845bca56..0000000000000000000000000000000000000000
Binary files a/libs/batik-ext.jar and /dev/null differ
diff --git a/libs/batik-extensions.jar b/libs/batik-extensions.jar
deleted file mode 100644
index 66f90cc66a39c181e24b655ca3777a9c06db6380..0000000000000000000000000000000000000000
Binary files a/libs/batik-extensions.jar and /dev/null differ
diff --git a/libs/batik-svggen.jar b/libs/batik-svggen.jar
deleted file mode 100644
index 24b3d6925d03d0e30dae3cb1c327d9348ecd7481..0000000000000000000000000000000000000000
Binary files a/libs/batik-svggen.jar and /dev/null differ
diff --git a/libs/batik-transcoder-1.14.jar b/libs/batik-transcoder-1.14.jar
deleted file mode 100644
index ab08dd1d3399717b6b05e0d4e9acfa5339d3d983..0000000000000000000000000000000000000000
Binary files a/libs/batik-transcoder-1.14.jar and /dev/null differ
diff --git a/libs/batik-util b/libs/batik-util
deleted file mode 100644
index 73926165d7b191c049372c767f39227c809d3295..0000000000000000000000000000000000000000
Binary files a/libs/batik-util and /dev/null differ
diff --git a/libs/batik-util.jar b/libs/batik-util.jar
deleted file mode 100644
index 682253a2f0e58f6a41cdcf57339dcbca56b646e9..0000000000000000000000000000000000000000
Binary files a/libs/batik-util.jar and /dev/null differ
diff --git a/libs/batik-xml.jar b/libs/batik-xml.jar
deleted file mode 100644
index 369fb7b96db5559910b41b520d49467070ec3293..0000000000000000000000000000000000000000
Binary files a/libs/batik-xml.jar and /dev/null differ
diff --git a/modeling/AVATAR/CoffeeMachine_Avatar.xml b/modeling/AVATAR/CoffeeMachine_Avatar.xml
index 3baecd3d9f7d98103b27208282ac8b3795ebea3a..b34d11b6ef524787adb2b358cb47d69bd14de983 100644
--- a/modeling/AVATAR/CoffeeMachine_Avatar.xml
+++ b/modeling/AVATAR/CoffeeMachine_Avatar.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
-<TURTLEGMODELING version="1.0beta" ANIMATE_INTERACTIVE_SIMULATION="false" ACTIVATE_PENALTIES="true" UPDATE_INFORMATION_DIPLO_SIM="false" ANIMATE_WITH_INFO_DIPLO_SIM="true" OPEN_DIAG_DIPLO_SIM="false" LAST_SELECTED_MAIN_TAB="1" LAST_SELECTED_SUB_TAB="3">
+<TURTLEGMODELING version="1.0beta" ANIMATE_INTERACTIVE_SIMULATION="false" ACTIVATE_PENALTIES="true" UPDATE_INFORMATION_DIPLO_SIM="false" ANIMATE_WITH_INFO_DIPLO_SIM="true" OPEN_DIAG_DIPLO_SIM="false" LAST_SELECTED_MAIN_TAB="0" LAST_SELECTED_SUB_TAB="0">
 
 <Modeling type="Avatar Requirement" nameTab="AVATAR Requirements" >
 <AvatarRDPanel name="AVATAR RD" minX="10" maxX="1900" minY="10" maxY="1400" zoom="1.0" >
@@ -62,7 +62,14 @@
 <rows v="Requirement_0/21634324-f1ec-471d-b025-373bb090c963$req00/6a44a70b-341e-4094-9eb3-95ef05784845$Req_Availability/2db149ef-c53b-4707-8c0f-285eea3e4257$Req_CoffeeMachine/e73051aa-2858-45ad-9538-4bb540752766$req1/d6ff748e-4216-4bb2-b0ce-81e64e2dbd68$req0/3f856106-1533-4f29-bb50-d5da20b70742$req2/e1c3057e-2674-463d-8b8c-6d741b397711" />
 <columns v="Requirement_0/21634324-f1ec-471d-b025-373bb090c963$req00/6a44a70b-341e-4094-9eb3-95ef05784845$Req_Availability/2db149ef-c53b-4707-8c0f-285eea3e4257$Req_CoffeeMachine/e73051aa-2858-45ad-9538-4bb540752766$req1/d6ff748e-4216-4bb2-b0ce-81e64e2dbd68$req0/3f856106-1533-4f29-bb50-d5da20b70742$req2/e1c3057e-2674-463d-8b8c-6d741b397711" />
 <p x="0" y="0" v="2" />
+<p x="0" y="3" v="3" />
+<p x="0" y="4" v="2" />
+<p x="0" y="5" v="3" />
+<p x="0" y="6" v="2" />
 <p x="2" y="1" v="3" />
+<p x="2" y="3" v="1" />
+<p x="2" y="6" v="3" />
+<p x="4" y="6" v="1" />
 <p x="6" y="6" v="1" />
 </extraparam>
 </COMPONENT>
diff --git a/rundse/build.gradle b/rundse/build.gradle
index 4ae241e0cc816cdcdc39c78a142f84f0d2f9f6f4..b4f03d2d2d7bbbe030ad62b6a6a9f62d896ee16d 100644
--- a/rundse/build.gradle
+++ b/rundse/build.gradle
@@ -28,17 +28,6 @@ dependencies {
     compile name: 'commons-logging-1.0.4'
     compile name: 'xmlgraphics-commons-2.6'
     compile name: 'batik-all-1.14'
-    compile name: 'batik-codec'
-    compile name: 'batik-constants'
-    compile name: 'batik-xml'
-    compile name: 'batik-extensions'
-    compile name: 'batik-ext'
-    compile name: 'batik-util' 
-    compile name: 'batik-svggen'
-    compile name: 'batik-dom'
-    compile name: 'batik-awt-util'
-    compile name: 'batik-anim-1.14'
-    compile name: 'batik-transcoder-1.14'
     compile name: 'xml-apis'
     compile name: 'json-java'
     compile name: 'fop'
diff --git a/src/main/java/ui/MainGUI.java b/src/main/java/ui/MainGUI.java
index b55a5ca435840ae4c5fc18b107aeab88ee54fd00..85be0c4b910de6d1fb0d1b45cf0c2b477960c347 100644
--- a/src/main/java/ui/MainGUI.java
+++ b/src/main/java/ui/MainGUI.java
@@ -6160,7 +6160,7 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Per
             for (int i = 0; i < tp.panels.size(); i++) {
                 tdp1 = tp.panels.elementAt(i);
                 tdp1.repaint();
-                
+
                 // tdp1.performMinimalCapture();
                 String pdfImg = tdp1.svgCapture();
                 String tmpName;
diff --git a/src/main/java/ui/TGUIAction.java b/src/main/java/ui/TGUIAction.java
index 7c2ddf142c149a33f11a592d8cc4ca6ad1ca0fa7..2b45ff27b24e31b1f10f0eb14f71099335975eb8 100644
--- a/src/main/java/ui/TGUIAction.java
+++ b/src/main/java/ui/TGUIAction.java
@@ -936,9 +936,9 @@ public class TGUIAction extends AbstractAction {
 
         actions[ACT_VIEW_JAVA] = new TAction("view-java", "Display Java code", IconManager.imgic38, IconManager.imgic39, "Display Java code",  "Display the java code of the pointed component", 0);
         actions[ACT_VIEW_RTLOTOS] = new TAction("view-rtlotos", "Show last formal specification", IconManager.imgic302, IconManager.imgic302, "Show formal specification",  "Display the lastest generated formal specification", 0);
-        actions[ACT_VIEW_SUGGESTED_DESIGN] = new TAction("view-suggested-design", "Show last suggested design", IconManager.imgic302, IconManager.imgic302, "Show suggested design",  "Display the lastest generated suggested design", 0);
-        actions[ACT_VIEW_SIM] = new TAction("view-sim", "Show last simulation trace (timing order)", IconManager.imgic318, IconManager.imgic319, "Show last simulation trace (timing order)",  "Display the lastest generated simulation trace in function of action time", 0);
-        actions[ACT_VIEW_SIM_CHRONO] = new TAction("view-sim-chrono", "Show last simulation trace (chronological order)", IconManager.imgic318, IconManager.imgic319, "Show last simulation trace (chronological order)",  "Display the lastest generated simulation trace in function of action chronological order", 0);
+        actions[ACT_VIEW_SUGGESTED_DESIGN] = new TAction("view-suggested-design", "Show last suggested design", IconManager.imgic302, IconManager.imgic302, "Show suggested design",  "Display the latest generated suggested design", 0);
+        actions[ACT_VIEW_SIM] = new TAction("view-sim", "Show last simulation trace (timing order)", IconManager.imgic318, IconManager.imgic319, "Show last simulation trace (timing order)",  "Display the latest generated simulation trace in function of action time", 0);
+        actions[ACT_VIEW_SIM_CHRONO] = new TAction("view-sim-chrono", "Show last simulation trace (chronological order)", IconManager.imgic318, IconManager.imgic319, "Show last simulation trace (chronological order)",  "Display the latest generated simulation trace in function of action chronological order", 0);
         actions[ACT_VIEW_DTADOT] = new TAction("view-dtadot", "Show last DTA", IconManager.imgic306, IconManager.imgic306, "Show DTA",  "Display the lastest generated DTA", 0);
         actions[ACT_VIEW_RGDOT] = new TAction("view-rgdot", "Show last RG", IconManager.imgic308, IconManager.imgic308, "Show RG",  "Display the lastest generated RG", 0);
         actions[ACT_VIEW_TLSADOT] = new TAction("view-tlsadot", "Show last TLSA", IconManager.imgic308, IconManager.imgic308, "Show TLSA",  "Display the lastest generated TLSA", 0);
@@ -955,12 +955,17 @@ public class TGUIAction extends AbstractAction {
 
         actions[ACT_SCREEN_CAPTURE] = new TAction("screen-capture", "Screen capture", IconManager.imgic338, IconManager.imgic339, "Screen capture",  "Capture the screen", 0);
         actions[ACT_TTOOL_WINDOW_CAPTURE] = new TAction("tool-window-capture", "TTool Window capture", IconManager.imgic338, IconManager.imgic339, "Main window capture",  "Capture the main window", 0);
-        actions[ACT_DIAGRAM_CAPTURE] = new TAction("diagram-capture", "Current diagram capture (PNG)", IconManager.imgic338, IconManager.imgic339, "Diagram capture",  "Capture the currenlty opened diagram", 0);
-        actions[ACT_SVG_DIAGRAM_CAPTURE] = new TAction("svg-diagram-capture", "Current diagram capture (SVG)", IconManager.imgic338, IconManager.imgic339, "Diagram capture (SVG)",  "Capture the currenlty opened diagram in svg format", 0);
+        actions[ACT_DIAGRAM_CAPTURE] = new TAction("diagram-capture", "Current diagram capture (PNG)", IconManager.imgic338, IconManager.imgic339,
+                "Diagram capture",  "Capture the currently opened diagram", 0);
+        actions[ACT_SVG_DIAGRAM_CAPTURE] = new TAction("svg-diagram-capture", "Current diagram capture (SVG)", IconManager.imgic338,
+                IconManager.imgic339, "Diagram capture (SVG)",  "Capture the currently opened diagram in svg format", 0);
         actions[ACT_PDF_DIAGRAM_CAPTURE] = new TAction("pdf-diagram-capture", "Current diagram capture (PDF)", IconManager.imgic338,
                 IconManager.imgic339, "Diagram capture (PDF)",  "Capture the currently opened diagram in PDF format", 0);
-        actions[ACT_ALL_DIAGRAM_CAPTURE] = new TAction("all-diagram-capture", "All diagrams capture (PNG)", IconManager.imgic338, IconManager.imgic339, "All diagram capture (PNG)",  "Capture in png images the currenlty opened set of diagram (analysis, design, etc.)", 0);
-        actions[ACT_ALL_DIAGRAM_CAPTURE_SVG] = new TAction("all-diagram-capture-svg", "All diagrams capture (SVG)", IconManager.imgic338, IconManager.imgic339, "All diagram capture (SVG)",  "Capture in svg images the currenlty opened set of diagram (analysis, design, etc.)", 0);
+        actions[ACT_ALL_DIAGRAM_CAPTURE] = new TAction("all-diagram-capture", "All diagrams capture (PNG)", IconManager.imgic338,
+                IconManager.imgic339, "All diagram capture (PNG)",  "Capture in png images the currently opened set of diagram (analysis, design, etc.)", 0);
+        actions[ACT_ALL_DIAGRAM_CAPTURE_SVG] = new TAction("all-diagram-capture-svg", "All diagrams capture (SVG)", IconManager.imgic338,
+                IconManager.imgic339, "All diagram capture (SVG)",  "Capture in svg images the currently opened set of diagram (analysis, design, " +
+                "etc.)", 0);
         actions[ACT_ALL_DIAGRAM_CAPTURE_PDF] = new TAction("all-diagram-capture-pdf", "All diagrams capture (PDF)", IconManager.imgic338,
                 IconManager.imgic339, "All diagram capture (PDF)",  "Capture in PDF document the currently opened set of diagram (analysis, design," +
                 " " +
diff --git a/src/main/java/ui/window/DependencyTableModel.java b/src/main/java/ui/window/DependencyTableModel.java
index 940946715532e3ebc5cea90450cf123c701a68b4..f182285fdacabef13e79896629f2d2c5628577f9 100644
--- a/src/main/java/ui/window/DependencyTableModel.java
+++ b/src/main/java/ui/window/DependencyTableModel.java
@@ -58,7 +58,7 @@ import java.util.LinkedList;
  * @author Ludovic APVRILLE
  * @version 1.0 23/06/2021
  */
-public class DependencyTableModel extends AbstractTableModel {
+public class DependencyTableModel extends AbstractTableModel implements Reorderable {
     public static final String[] VALUES = {"", "->", "<-", "<->"};
 
     private String[] cols, rows;
@@ -128,4 +128,8 @@ public class DependencyTableModel extends AbstractTableModel {
         }
     }
 
+    public void reorder(int fromIndex, int toIndex) {
+        TraceManager.addDev("Reordering from " + fromIndex + " to " + toIndex);
+    }
+
 }
\ No newline at end of file
diff --git a/src/main/java/ui/window/JDialogDependencyMatrix.java b/src/main/java/ui/window/JDialogDependencyMatrix.java
index 168f772c9f57924b234681a97267b29d45776dd8..5ead4f1a9c55b6e5f0927d68306cc5dd756e33c3 100644
--- a/src/main/java/ui/window/JDialogDependencyMatrix.java
+++ b/src/main/java/ui/window/JDialogDependencyMatrix.java
@@ -410,28 +410,37 @@ public class JDialogDependencyMatrix extends JDialogBase implements ActionListen
 
         dtm = new DependencyTableModel(rows.split("\\$"), columns.split("\\$"),
                 dependencies);
-        TableSorter sorterRTM = new TableSorter(dtm);
-        matrix = new JTable(sorterRTM);
+        //TableSorter sorterRTM = new TableSorter(dtm);
+        matrix = new JTable(dtm);
+        matrix.getTableHeader().setReorderingAllowed(false);
         matrix.setCellSelectionEnabled(true);
+        matrix.setDragEnabled(true);
+        matrix.setDropMode(DropMode.INSERT_ROWS);
+        matrix.setTransferHandler(new TableRowTransferHandler(matrix));
+
+        JPopupMenu popup = createDependencyPopup();
+
         matrix.addMouseListener(new MouseAdapter() {
+
             @Override
-            public void mouseReleased(MouseEvent e) {
-                int r = matrix.rowAtPoint(e.getPoint());
-                int c = matrix.columnAtPoint(e.getPoint());
-                selectedRow = -1;
-                selectedRow = -1;
-                if (r >= 0 && r < matrix.getRowCount() && c >= 0 && c < matrix.getColumnCount()) {
-                    selectedRow = r;
-                    selectedCol = c;
-
-                    if (e.getComponent() instanceof JTable) {
-                        TraceManager.addDev("Popup at x=" + e.getX() + " y=" + e.getY() + " row=" + selectedRow + " col=" + selectedCol);
-                        JPopupMenu popup = createDependencyPopup();
-                        popup.show(e.getComponent(), e.getX(), e.getY());
+            public void mouseClicked(MouseEvent e) {
+                if (e.getButton() == MouseEvent.BUTTON3) { //Button3 is rightclick
+                    //TraceManager.addDev("Right click");
+                    int r = matrix.rowAtPoint(e.getPoint());
+                    int c = matrix.columnAtPoint(e.getPoint());
+                    selectedRow = -1;
+                    selectedRow = -1;
+                    if (r >= 0 && r < matrix.getRowCount() && c >= 0 && c < matrix.getColumnCount()) {
+                        //TraceManager.addDev("Popup");
+                        selectedRow = r;
+                        selectedCol = c;
+                        popup.show(matrix, e.getX(), e.getY());
                     }
                 }
             }
         });
+
+        
         matrix.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
         JScrollPane jspRTM = new JScrollPane(matrix);
         jspRTM.setWheelScrollingEnabled(true);
@@ -537,6 +546,9 @@ public class JDialogDependencyMatrix extends JDialogBase implements ActionListen
     }
 
     public void setValueInMatrix(int value) {
+        TraceManager.addDev("set value in matrix" + value);
+        //selectedRow = matrix.getSelectedRow();
+        //selectedCol = matrix.getSelectedColumn();
         if ((selectedCol >= 0) && (selectedRow >= 0) & dtm != null) {
             dtm.mySetValueAt(value, selectedRow, selectedCol-1);
             matrix.repaint();
diff --git a/src/main/java/ui/window/Reorderable.java b/src/main/java/ui/window/Reorderable.java
new file mode 100644
index 0000000000000000000000000000000000000000..f1c5beb12a30508f4b7017010ade21f28181c7c1
--- /dev/null
+++ b/src/main/java/ui/window/Reorderable.java
@@ -0,0 +1,64 @@
+/* Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Ludovic Apvrille
+ *
+ * ludovic.apvrille AT enst.fr
+ *
+ * This software is a computer program whose purpose is to allow the
+ * edition of TURTLE analysis, design and deployment diagrams, to
+ * allow the generation of RT-LOTOS or Java code from this diagram,
+ * and at last to allow the analysis of formal validation traces
+ * obtained from external tools, e.g. RTL from LAAS-CNRS and CADP
+ * from INRIA Rhone-Alpes.
+ *
+ * This software is governed by the CeCILL  license under French law and
+ * abiding by the rules of distribution of free software.  You can  use,
+ * modify and/ or redistribute the software under the terms of the CeCILL
+ * license as circulated by CEA, CNRS and INRIA at the following URL
+ * "http://www.cecill.info".
+ *
+ * As a counterpart to the access to the source code and  rights to copy,
+ * modify and redistribute granted by the license, users are provided only
+ * with a limited warranty  and the software's author,  the holder of the
+ * economic rights,  and the successive licensors  have only  limited
+ * liability.
+ *
+ * In this respect, the user's attention is drawn to the risks associated
+ * with loading,  using,  modifying and/or developing or reproducing the
+ * software by the user in light of its specific status of free software,
+ * that may mean  that it is complicated to manipulate,  and  that  also
+ * therefore means  that it is reserved for developers  and  experienced
+ * professionals having in-depth computer knowledge. Users are therefore
+ * encouraged to load and test the software's suitability as regards their
+ * requirements in conditions enabling the security of their systems and/or
+ * data to be ensured and,  more generally, to use and operate it in the
+ * same conditions as regards security.
+ *
+ * The fact that you are presently reading this means that you have had
+ * knowledge of the CeCILL license and that you accept its terms.
+ */
+
+
+package ui.window;
+
+
+
+import javax.activation.ActivationDataFlavor;
+import javax.activation.DataHandler;
+import javax.swing.*;
+import java.awt.*;
+import java.awt.datatransfer.DataFlavor;
+import java.awt.datatransfer.Transferable;
+import java.awt.dnd.DragSource;
+
+
+/**
+ * Interface Reorderable
+ * Moving rows (from StackOverflow)
+ * Creation: 25/06/2021
+ *
+ * @author Ludovic APVRILLE
+ * @version 1.0 25/06/2021
+ */
+
+public interface Reorderable {
+    public void reorder(int fromIndex, int toIndex);
+}
\ No newline at end of file
diff --git a/src/main/java/ui/window/TableRowTransferHandler.java b/src/main/java/ui/window/TableRowTransferHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..e489e38dd0a425cc7ccb3ecb08ee9291691cca1d
--- /dev/null
+++ b/src/main/java/ui/window/TableRowTransferHandler.java
@@ -0,0 +1,120 @@
+/* Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Ludovic Apvrille
+ *
+ * ludovic.apvrille AT enst.fr
+ *
+ * This software is a computer program whose purpose is to allow the
+ * edition of TURTLE analysis, design and deployment diagrams, to
+ * allow the generation of RT-LOTOS or Java code from this diagram,
+ * and at last to allow the analysis of formal validation traces
+ * obtained from external tools, e.g. RTL from LAAS-CNRS and CADP
+ * from INRIA Rhone-Alpes.
+ *
+ * This software is governed by the CeCILL  license under French law and
+ * abiding by the rules of distribution of free software.  You can  use,
+ * modify and/ or redistribute the software under the terms of the CeCILL
+ * license as circulated by CEA, CNRS and INRIA at the following URL
+ * "http://www.cecill.info".
+ *
+ * As a counterpart to the access to the source code and  rights to copy,
+ * modify and redistribute granted by the license, users are provided only
+ * with a limited warranty  and the software's author,  the holder of the
+ * economic rights,  and the successive licensors  have only  limited
+ * liability.
+ *
+ * In this respect, the user's attention is drawn to the risks associated
+ * with loading,  using,  modifying and/or developing or reproducing the
+ * software by the user in light of its specific status of free software,
+ * that may mean  that it is complicated to manipulate,  and  that  also
+ * therefore means  that it is reserved for developers  and  experienced
+ * professionals having in-depth computer knowledge. Users are therefore
+ * encouraged to load and test the software's suitability as regards their
+ * requirements in conditions enabling the security of their systems and/or
+ * data to be ensured and,  more generally, to use and operate it in the
+ * same conditions as regards security.
+ *
+ * The fact that you are presently reading this means that you have had
+ * knowledge of the CeCILL license and that you accept its terms.
+ */
+
+
+package ui.window;
+
+
+
+import javax.activation.ActivationDataFlavor;
+import javax.activation.DataHandler;
+import javax.swing.*;
+import java.awt.*;
+import java.awt.datatransfer.DataFlavor;
+import java.awt.datatransfer.Transferable;
+import java.awt.dnd.DragSource;
+
+
+/**
+ * Class TableRowTransferHandler
+ * Moving rows (from StackOverflow)
+ * Creation: 25/06/2021
+ *
+ * @author Ludovic APVRILLE
+ * @version 1.0 25/06/2021
+ */
+
+public class TableRowTransferHandler extends TransferHandler {
+    private final DataFlavor localObjectFlavor = new ActivationDataFlavor(Integer.class, "application/x-java-Integer;class=java.lang.Integer", "Integer Row Index");
+    private JTable           table             = null;
+
+    public TableRowTransferHandler(JTable table) {
+        this.table = table;
+    }
+
+    @Override
+    protected Transferable createTransferable(JComponent c) {
+        assert (c == table);
+        return new DataHandler(new Integer(table.getSelectedRow()), localObjectFlavor.getMimeType());
+    }
+
+    @Override
+    public boolean canImport(TransferHandler.TransferSupport info) {
+        boolean b = info.getComponent() == table && info.isDrop() && info.isDataFlavorSupported(localObjectFlavor);
+        table.setCursor(b ? DragSource.DefaultMoveDrop : DragSource.DefaultMoveNoDrop);
+        return b;
+    }
+
+    @Override
+    public int getSourceActions(JComponent c) {
+        return TransferHandler.COPY_OR_MOVE;
+    }
+
+    @Override
+    public boolean importData(TransferHandler.TransferSupport info) {
+        JTable target = (JTable) info.getComponent();
+        JTable.DropLocation dl = (JTable.DropLocation) info.getDropLocation();
+        int index = dl.getRow();
+        int max = table.getModel().getRowCount();
+        if (index < 0 || index > max)
+            index = max;
+        target.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+        try {
+            Integer rowFrom = (Integer) info.getTransferable().getTransferData(localObjectFlavor);
+            if (rowFrom != -1 && rowFrom != index) {
+                ((Reorderable)(table.getModel())).reorder(rowFrom, index);
+                if (index > rowFrom)
+                    index--;
+                target.getSelectionModel().addSelectionInterval(index, index);
+                return true;
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return false;
+    }
+
+    @Override
+    protected void exportDone(JComponent c, Transferable t, int act) {
+        if ((act == TransferHandler.MOVE) || (act == TransferHandler.NONE)) {
+            table.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+        }
+    }
+
+
+}
\ No newline at end of file
diff --git a/tmltranslator/build.gradle b/tmltranslator/build.gradle
index 7f4e6cc4d216104a52a6cda0f7103e7b722b2bb1..a89ee8d34206c818d914f02b7f988019c1e0286c 100644
--- a/tmltranslator/build.gradle
+++ b/tmltranslator/build.gradle
@@ -29,18 +29,7 @@ dependencies {
     compile name: 'commons-logging-1.0.4'
     compile name: 'xmlgraphics-commons-2.6'
     compile name: 'batik-all-1.14'
-    compile name: 'batik-codec'
-    compile name: 'batik-constants'
-    compile name: 'batik-xml'
-    compile name: 'batik-extensions'
-    compile name: 'batik-ext'
-    compile name: 'batik-util' 
-    compile name: 'batik-svggen'
-    compile name: 'batik-dom'
-    compile name: 'batik-awt-util'
-    compile name: 'batik-anim-1.14'
-    compile name: 'batik-transcoder-1.14'
-    compile name: 'xml-apis'
+     compile name: 'xml-apis'
     compile name: 'json-java'
     compile name: 'fop'
 
diff --git a/ttool-cli/build.gradle b/ttool-cli/build.gradle
index 16a70e447cb5068c82bac64144df8021b11efbad..482026ae42da0d96bf535f3d8f0bb5a27e61b280 100644
--- a/ttool-cli/build.gradle
+++ b/ttool-cli/build.gradle
@@ -38,17 +38,6 @@ compile name: 'xercesImpl-2.12.0'
     compile name: 'commons-logging-1.0.4'
     compile name: 'xmlgraphics-commons-2.6'
     compile name: 'batik-all-1.14'
-    compile name: 'batik-codec'
-    compile name: 'batik-constants'
-    compile name: 'batik-xml'
-    compile name: 'batik-extensions'
-    compile name: 'batik-ext'
-    compile name: 'batik-util' 
-    compile name: 'batik-svggen'
-    compile name: 'batik-dom'
-    compile name: 'batik-awt-util'
-    compile name: 'batik-anim-1.14'
-    compile name: 'batik-transcoder-1.14'
     compile name: 'xml-apis'
     compile name: 'json-java'
     compile name: 'fop'
diff --git a/ttool/build.gradle b/ttool/build.gradle
index d7fee3fca4fce4d6665a265ed3a7adb252597ab2..aece8014c4a04e83c1d104de86886def266b0011 100644
--- a/ttool/build.gradle
+++ b/ttool/build.gradle
@@ -37,18 +37,7 @@ dependencies {
     compile name: 'commons-logging-1.0.4'
     compile name: 'xmlgraphics-commons-2.6'
     compile name: 'batik-all-1.14'
-    compile name: 'batik-codec'
-    compile name: 'batik-constants'
-    compile name: 'batik-xml'
-    compile name: 'batik-extensions'
-    compile name: 'batik-ext'
-    compile name: 'batik-util' 
-    compile name: 'batik-svggen'
-    compile name: 'batik-dom'
-    compile name: 'batik-awt-util'
-    compile name: 'batik-anim-1.14'
-    compile name: 'batik-transcoder-1.14'
-    compile name: 'xml-apis'
+     compile name: 'xml-apis'
     compile name: 'json-java'
     compile name: 'fop'