diff --git a/src/main/java/cli/History.java b/src/main/java/cli/History.java
index afd82d353f71d81292e54b1ab0c2534ec7d8678e..3559be68dec4df94e3eca77ae5bf43772845f3de 100644
--- a/src/main/java/cli/History.java
+++ b/src/main/java/cli/History.java
@@ -97,9 +97,6 @@ public class History extends Command  {
             return "Invalid argument. Must provide an int";
         }
 
-
-
-
     }
 
     public void fillSubCommands() {
diff --git a/src/main/java/myutil/Terminal.java b/src/main/java/myutil/Terminal.java
index 8121f1c9094d67b7281b87e97cb35016d3786d5b..0e8dc0d263ed902bafe54ee73024b92f2a0341b6 100644
--- a/src/main/java/myutil/Terminal.java
+++ b/src/main/java/myutil/Terminal.java
@@ -68,7 +68,7 @@ public class Terminal {
     private int maxbufferSize = MAX_BUFFER_SIZE;
     private TerminalProviderInterface terminalProvider;
     private int cpt;
-    private String sequence;
+    private char[] sequence;
     private String os;
 
 
@@ -78,6 +78,7 @@ public class Terminal {
         os = System.getProperty("os.name").toLowerCase();
         System.out.println("Detected OS:" + os);
         os = os.split(" ")[0];
+        bufferPointer = 0;
     }
 
     public void setTerminalProvider(TerminalProviderInterface tp) {
@@ -89,13 +90,12 @@ public class Terminal {
         char x;
         int val = 0;
         cursorPosition = 0;
-        bufferPointer = 0;
-
 
         printPrompt(cpt);
 
         String currentBuf = "";
         sequence = null;
+        int seqNb = 0;
         long timeSeq = 0;
 
 
@@ -109,7 +109,8 @@ public class Terminal {
                 // Special sequence?
                 if (sequence == null) {
                     if (val == ESC) {
-                        sequence = "";
+                        sequence = new char[256];
+                        seqNb = 0;
                         timeSeq = System.currentTimeMillis();
                     }
                 } else {
@@ -118,20 +119,23 @@ public class Terminal {
                     if (now - timeSeq > 10) {
                         sequence = null;
                     } else {
-                        sequence += x;
+                        sequence[seqNb] = x;
+                        seqNb ++;
                     }
                 }
 
-               /*if (sequence != null) {
-                   TraceManager.addDev("Sequence=" + sequence);
-                   printSequence(sequence);
-               }*/
+               if (sequence != null) {
+                   //TraceManager.addDev("Sequence=" + sequence + "length=" + sequence.length());
+                   //printSequence(sequence);
+               }
 
-                if ((sequence != null) && (sequence.length() == 2)) {
 
-                    //UP?
-                    if ((sequence.charAt(0) == 91) && (sequence.charAt(1) == 65)) {
+                if ((sequence != null) && (seqNb == 2)) {
 
+                    //UP?
+                    if ((sequence[0] == 91) && (sequence[1] == 65)) {
+                        //TraceManager.addDev("UP");
+                        //System.out.println("UP buffersize=" + buffer.size() + " bufferpointer=" + bufferPointer);
                         if (buffer.size() > 0) {
                             delCurrent(currentBuf);
                             bufferPointer = (bufferPointer > 0) ? bufferPointer - 1 : bufferPointer;
@@ -148,7 +152,8 @@ public class Terminal {
 
 
                         // DOWN
-                    } else if ((sequence.charAt(0) == 91) && (sequence.charAt(1) == 66)) {
+                    } else if ((sequence[0] == 91) && (sequence[1] == 66)) {
+                        //System.out.println("DOWN buffersize=" + buffer.size());
                         if (buffer.size() > 0) {
                             //System.out.println("DOWN");
                             delCurrent(currentBuf);
@@ -166,17 +171,16 @@ public class Terminal {
 
 
                         // BACKWARD
-                    } else if ((sequence.charAt(0) == 91) && (sequence.charAt(1) == 68)) {
+                    } else if ((sequence[0] == 91) && (sequence[1] == 68)) {
 
-                        //System.out.println("DOWN");
+                        //System.out.println("BACKWARD");
                         backward();
                         sequence = null;
                         val = -1;
 
                         // FORWARD
-                    } else if ((sequence.charAt(0) == 91) && (sequence.charAt(1) == 67)) {
+                    } else if ((sequence[0] == 91) && (sequence[1] == 67)) {
 
-                        //System.out.println("DOWN");
                         forward(currentBuf);
                         sequence = null;
                         val = -1;
@@ -185,11 +189,13 @@ public class Terminal {
                     }
                 }
 
-                if ((sequence != null) && (sequence.length() == 3)) {
+
+
+                if ((sequence != null) && (seqNb == 3)) {
 
                     // DEL
-                    if ((sequence.charAt(0) == 91) && (sequence.charAt(1) == 51) &&
-                            (sequence.charAt(2) == 126)) {
+                    if ((sequence[0] == 91) && (sequence[1] == 51) &&
+                            (sequence[2] == 126)) {
                         //TraceManager.addDev("DEL");
                         currentBuf = del(currentBuf);
                         //cursorPosition--;
@@ -273,9 +279,7 @@ public class Terminal {
     private void addToBuffer(String newBuf) {
         // Add at bufferPointer
         // Therefore remove all elements after bufferPointer
-        for (int i = buffer.size() - 1; i >= bufferPointer; i--) {
-            buffer.removeElementAt(i);
-        }
+
 
         buffer.add(newBuf);
 
@@ -284,7 +288,11 @@ public class Terminal {
         }
 
         bufferPointer = buffer.size();
+        //System.out.println("new BufferPointer=" + bufferPointer + " size buffer=" + buffer.size());
 
+        /*for(int j=0; j<buffer.size(); j++) {
+            System.out.println("Buffer at" + j + " = " + buffer.get(j));
+        }*/
     }
 
 
@@ -358,5 +366,9 @@ public class Terminal {
         cursorPosition++;
     }
 
+    /*private void printSequence(String seq) {
+
+    }*/
+
 
 }
diff --git a/src/main/java/ui/window/JDialogCPUNode.java b/src/main/java/ui/window/JDialogCPUNode.java
index e58ab408c13d9c42815d4c4a58cfa93a403fd3f3..34d184e65be2a3f519e8fa3fc4d4113b9335e434 100644
--- a/src/main/java/ui/window/JDialogCPUNode.java
+++ b/src/main/java/ui/window/JDialogCPUNode.java
@@ -42,7 +42,10 @@
 package ui.window;
 
 import cli.Action;
+import help.HelpEntry;
+import help.HelpManager;
 import myutil.GraphicLib;
+import myutil.TraceManager;
 import tmltranslator.modelcompiler.ArchUnitMEC;
 import ui.ColorManager;
 import ui.util.IconManager;
@@ -78,6 +81,7 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener  {
  //   private static int selectedTracemode = 0;
     // Panel1
     protected JTextField nodeName;
+    private JFrameHelp jFrameHelp = null;
 
     // Panel2
     protected JTextField sliceTime, nbOfCores, byteDataSize, pipelineSize, goIdleTime, maxConsecutiveIdleCycles,
@@ -93,8 +97,8 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener  {
     private java.util.List<SimulationTransaction> transactions;
 
     //issue 183
-    List<JTextArea> instructionHelpList;
-    List<JButton>   buttons;
+    List<JButton>   buttons = new ArrayList<>();
+    List<HelpEntry> helpEntries;
 
     /* Creates new form  */
     public JDialogCPUNode(Frame _frame, String _title, TMLArchiCPUNode _node, ArchUnitMEC _MECType, java.util.List<SimulationTransaction> _transactions) {
@@ -121,114 +125,101 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener  {
     }
 
     //issue 183
-    private void buttonClick(JButton but, JTextArea jta) {
-        JPopupMenu helpPopup = new JPopupMenu();
-        helpPopup.add(jta);
-        but.addMouseListener(new MouseAdapter() {
-            @Override
-            public void mouseClicked(MouseEvent e) {
-
-                if (!helpPopup.isVisible()) {
-                    helpPopup.show(but,20,20);
-                } else {
-                    helpPopup.setVisible(false);
-                }
-            }
-        });
-
-        helpPopup.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("ESCAPE"), "closeJTextArea");
-        helpPopup.getActionMap().put("closeJTextArea", new AbstractAction() {
+    private void buttonClick(JButton but, HelpEntry he, HelpManager hm) {
+        but.addActionListener(new ActionListener() {
             @Override
             public void actionPerformed(ActionEvent e) {
-                helpPopup.setVisible(false);
+                setModalityType(ModalityType.MODELESS);
+                if(jFrameHelp == null ) {
+                    jFrameHelp = new JFrameHelp("help", hm, he);
+                    jFrameHelp.setModalExclusionType(ModalExclusionType.APPLICATION_EXCLUDE);
+                    jFrameHelp.getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("ESCAPE"), "close");
+                    jFrameHelp.getRootPane().getActionMap().put("close", new AbstractAction() {
+                        @Override
+                        public void actionPerformed(ActionEvent e) {
+                            if(!jFrameHelp.isVisible())
+                                dispose();
+                            jFrameHelp.setVisible(false);
+                        }
+                    });
+                }else{
+                    if(!jFrameHelp.isVisible()) {
+                        jFrameHelp = new JFrameHelp("help", hm, he);
+                        jFrameHelp.setModalExclusionType(ModalExclusionType.APPLICATION_EXCLUDE);
+                        setModalityType(ModalityType.MODELESS);
+                        jFrameHelp.getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("ESCAPE"), "close");
+                        jFrameHelp.getRootPane().getActionMap().put("close", new AbstractAction() {
+                            @Override
+                            public void actionPerformed(ActionEvent e) {
+                                if(!jFrameHelp.isVisible())
+                                    dispose();
+                                jFrameHelp.setVisible(false);
+                            }
+                        });
+                    }else{
+                        jFrameHelp.setVisible(false);
+                        jFrameHelp = null;
+                    }
+                }
             }
         });
-
     }
 
     //issue 183
     private void hardwareHelp(){
 
-        instructionHelpList = new ArrayList<>();
-        buttons = new ArrayList<>();
-        JTextArea jft1 = new JTextArea();
-        jft1.setText("CPU name");
-        instructionHelpList.add(jft1);
-
-        JTextArea jft2 = new JTextArea();
-        jft2.setText("The arbitration policy used by OS to schedule mapped tasks");
-        instructionHelpList.add(jft2);
-
-        JTextArea jft3 = new JTextArea("Slice time : The maximum time allocated by the OS " +
-                "scheduler to execute a task");
-        instructionHelpList.add(jft3);
-
-        JTextArea jft4 = new JTextArea("Nb of Cores :  The number of cores of the CPU");
-        instructionHelpList.add(jft4);
-
-        JTextArea jft5 = new JTextArea("Data size : The size of an EXECI/EXECC operation, in " +
-                "number of bytes");
-        instructionHelpList.add(jft5);
-
-        JTextArea jft6 = new JTextArea("Pipeline size : The number of stages of the pipeline");
-        instructionHelpList.add(jft6);
-
-        JTextArea jft7 = new JTextArea("Task switching : The time taken by the OS for a context switch");
-        instructionHelpList.add(jft7);
-
-        JTextArea jft8 = new JTextArea("Mis-branching prediction: The miss percentage of the CPU branch " +
-                "prediction scheme");
-        instructionHelpList.add(jft8);
-
-        JTextArea jft9 = new JTextArea("cahe-miss : The percentage of cache misses");
-        instructionHelpList.add(jft9);
-
-        JTextArea jft10 = new JTextArea("Go idle time (cycles) : The time taken by the OS and the CPU " +
-                "hardware to go idle");
-        instructionHelpList.add(jft10);
-
-        JTextArea jft11 = new JTextArea("Max consecutive cycles before idle (cycles) : Number of consecutive cycles of NOPs before the " +
-                "CPU goes idle");
-        instructionHelpList.add(jft11);
-
-        JTextArea jft12 = new JTextArea("EXECI execution : The number of clock cycles corresponding to an " +
-                "integer operation");
-        instructionHelpList.add(jft12);
-
-        JTextArea jft13 = new JTextArea("EXECC execution : The number of clock cycles corresponding to an " +
-                "operation on complex numbers");
-        instructionHelpList.add(jft13);
-
-        JTextArea jft14 = new JTextArea("Clock divider : This number defines the operating clock frequency of the CPU \n" +
-                "It is expressed via a number that is used to divide the global design\n" +
-                "frequency, whose default value is 200 MHz. Thus a clock divider equal to 4 means that the CPU\n" +
-                "operates at 200/4 = 50 MHz");
-        instructionHelpList.add(jft14);
-
-        JTextArea jft15 = new JTextArea("Encryption");
-        instructionHelpList.add(jft15);
-
-        JTextArea jft16 = new JTextArea("CPU Extension Construct");
-        instructionHelpList.add(jft16);
-
-        JTextArea jft17 = new JTextArea("Operation");
-        instructionHelpList.add(jft17);
+        HelpManager helpManager = new HelpManager();
+
+        if(helpManager.loadEntries()) {
+            helpEntries = new ArrayList<>();
+            HelpEntry he0 = helpManager.getHelpEntryWithHTMLFile("cpuname.html");
+            helpEntries.add(he0);
+            HelpEntry he1 = helpManager.getHelpEntryWithHTMLFile("schedulingpolicy.html");
+            helpEntries.add(he1);
+            HelpEntry he2 = helpManager.getHelpEntryWithHTMLFile("slicetime.html");
+            helpEntries.add(he2);
+            HelpEntry he3 = helpManager.getHelpEntryWithHTMLFile("numbercores.html");
+            helpEntries.add(he3);
+            HelpEntry he4 = helpManager.getHelpEntryWithHTMLFile("datasize.html");
+            helpEntries.add(he4);
+            HelpEntry he5 = helpManager.getHelpEntryWithHTMLFile("pipelinesize.html");
+            helpEntries.add(he5);
+            HelpEntry he6 = helpManager.getHelpEntryWithHTMLFile("taskswitchingtime.html");
+            helpEntries.add(he6);
+            HelpEntry he7 = helpManager.getHelpEntryWithHTMLFile("misbrandingprediction.html");
+            helpEntries.add(he7);
+            HelpEntry he8 = helpManager.getHelpEntryWithHTMLFile("cachemiss.html");
+            helpEntries.add(he8);
+            HelpEntry he9 = helpManager.getHelpEntryWithHTMLFile("goidletime.html");
+            helpEntries.add(he9);
+            HelpEntry he10 = helpManager.getHelpEntryWithHTMLFile("maxconsecutivecycles.html");
+            helpEntries.add(he10);
+            HelpEntry he11 = helpManager.getHelpEntryWithHTMLFile("execi.html");
+            helpEntries.add(he11);
+            HelpEntry he12 = helpManager.getHelpEntryWithHTMLFile("execc.html");
+            helpEntries.add(he12);
+            HelpEntry he13 = helpManager.getHelpEntryWithHTMLFile("clockdivider.html");
+            helpEntries.add(he13);
+            HelpEntry he14 = helpManager.getHelpEntryWithHTMLFile("encryption.html");
+            helpEntries.add(he14);
+            HelpEntry he15 = helpManager.getHelpEntryWithHTMLFile("cpuextension.html");
+            helpEntries.add(he15);
+            HelpEntry he16 = helpManager.getHelpEntryWithHTMLFile("operation.html");
+            helpEntries.add(he16);
+        }
 
-        for(int i = 0; i < instructionHelpList.size(); i++) {
+        for(int i = 0; i < 17; i++) {
             Icon myIcon = IconManager.imgic32;
             JButton but = new JButton(myIcon);
             setButton(but);
+            buttonClick(but,helpEntries.get(i),helpManager);
             buttons.add(but);
-            instructionHelpList.get(i).setEditable(false);
-        }
-
-        for (int i = 0; i < instructionHelpList.size(); i++) {
-            buttonClick(buttons.get(i),instructionHelpList.get(i));
         }
     }
 
 
     private void initComponents() {
+        hardwareHelp();
         Container c = getContentPane();
         GridBagLayout gridbag0 = new GridBagLayout();
         GridBagLayout gridbag2 = new GridBagLayout();
@@ -237,12 +228,12 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener  {
         //GridBagConstraints c1 = new GridBagConstraints();
         GridBagConstraints c2 = new GridBagConstraints();
         GridBagConstraints c4 = new GridBagConstraints();
-        hardwareHelp();
 
         setFont(new Font("Helvetica", Font.PLAIN, 14));
         c.setLayout(gridbag0);
 
         setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
+        setModalityType(ModalityType.APPLICATION_MODAL);
 
 
         panel2 = new JPanel();
@@ -290,7 +281,7 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener  {
         c2.weighty = 0.5;
         c2.weightx = 0.5;
         c2.gridwidth = GridBagConstraints.REMAINDER;
-        panel2.add(buttons.get(1),c2);
+         panel2.add(buttons.get(1),c2);
 
         c2.gridwidth = 1;
         //issue 183
@@ -567,8 +558,8 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener  {
         c0.weightx = 1.0;
         c0.gridwidth = GridBagConstraints.REMAINDER; //end row
         c0.fill = GridBagConstraints.BOTH;
-        /*c.add(panel2, c0);
-          c.add(panel4, c0);*/
+       /* c.add(panel2, c0);
+        c.add(panel4, c0);*/
         c.add( tabbedPane, c0 );
 
         c0.gridwidth = 1;
diff --git a/src/main/resources/help/cachemiss.html b/src/main/resources/help/cachemiss.html
new file mode 100644
index 0000000000000000000000000000000000000000..9da08675117ba8f92ad8f80d2226076755a1a683
--- /dev/null
+++ b/src/main/resources/help/cachemiss.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
+<head>
+  <meta charset="utf-8" />
+  <meta name="generator" content="pandoc" />
+  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
+  <title>TTool help</title>
+  <style>
+      code{white-space: pre-wrap;}
+      span.smallcaps{font-variant: small-caps;}
+      span.underline{text-decoration: underline;}
+      div.column{display: inline-block; vertical-align: top; width: 50%;}
+  </style>
+  <!--[if lt IE 9]>
+    <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
+  <![endif]-->
+</head>
+<body>
+<h2 id="cahe-miss-in">Cahe-miss (in %)</h2>
+<p>The percentage of cache misses</p>
+</body>
+</html>
diff --git a/src/main/resources/help/cachemiss.md b/src/main/resources/help/cachemiss.md
new file mode 100644
index 0000000000000000000000000000000000000000..6271e71f46492861f596a882859e20b2a89aacb4
--- /dev/null
+++ b/src/main/resources/help/cachemiss.md
@@ -0,0 +1,2 @@
+## Cahe-miss (in %)
+The percentage of cache misses
\ No newline at end of file
diff --git a/src/main/resources/help/cpuextension.html b/src/main/resources/help/cpuextension.html
new file mode 100644
index 0000000000000000000000000000000000000000..f0a9d78b33cc32f4b0c2e7eaaf1ec30bbe847978
--- /dev/null
+++ b/src/main/resources/help/cpuextension.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
+<head>
+  <meta charset="utf-8" />
+  <meta name="generator" content="pandoc" />
+  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
+  <title>TTool help</title>
+  <style>
+      code{white-space: pre-wrap;}
+      span.smallcaps{font-variant: small-caps;}
+      span.underline{text-decoration: underline;}
+      div.column{display: inline-block; vertical-align: top; width: 50%;}
+  </style>
+  <!--[if lt IE 9]>
+    <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
+  <![endif]-->
+</head>
+<body>
+<h2 id="cpu-extension-construct">CPU Extension Construct</h2>
+<p>The CPU Extension Construct :</p>
+<ul>
+<li>CPU</li>
+<li>FEP (Front End Processor)</li>
+<li>INTL (Interleaver)</li>
+<li>MAPP (Mapper)</li>
+<li>ADAIF (Analog to Digital-Digital to Analog Interface)</li>
+</ul>
+</body>
+</html>
diff --git a/src/main/resources/help/cpuextension.md b/src/main/resources/help/cpuextension.md
new file mode 100644
index 0000000000000000000000000000000000000000..06ca82d18454a3c05f2abbb18e87a63e39d74004
--- /dev/null
+++ b/src/main/resources/help/cpuextension.md
@@ -0,0 +1,9 @@
+## CPU Extension Construct
+
+The CPU Extension Construct :
+
+- CPU
+- FEP (Front End Processor)
+- INTL (Interleaver)
+- MAPP (Mapper)
+- ADAIF (Analog to Digital-Digital to Analog Interface)
\ No newline at end of file
diff --git a/src/main/resources/help/cpuname.html b/src/main/resources/help/cpuname.html
new file mode 100644
index 0000000000000000000000000000000000000000..0be8e984b42868c96433d8e1d4df567649561ee7
--- /dev/null
+++ b/src/main/resources/help/cpuname.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
+<head>
+  <meta charset="utf-8" />
+  <meta name="generator" content="pandoc" />
+  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
+  <title>TTool help</title>
+  <style>
+      code{white-space: pre-wrap;}
+      span.smallcaps{font-variant: small-caps;}
+      span.underline{text-decoration: underline;}
+      div.column{display: inline-block; vertical-align: top; width: 50%;}
+  </style>
+  <!--[if lt IE 9]>
+    <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
+  <![endif]-->
+</head>
+<body>
+<h2 id="cpu-name">CPU name</h2>
+<p>The CPU node name</p>
+</body>
+</html>
diff --git a/src/main/resources/help/cpuname.md b/src/main/resources/help/cpuname.md
new file mode 100644
index 0000000000000000000000000000000000000000..8895b64a167186e661cd255d087dbd5e456b804d
--- /dev/null
+++ b/src/main/resources/help/cpuname.md
@@ -0,0 +1,2 @@
+## CPU name
+The CPU node name
\ No newline at end of file
diff --git a/src/main/resources/help/datasize.html b/src/main/resources/help/datasize.html
new file mode 100644
index 0000000000000000000000000000000000000000..5600b43c6c0536ce861cbf9f072b2e592217d7a6
--- /dev/null
+++ b/src/main/resources/help/datasize.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
+<head>
+  <meta charset="utf-8" />
+  <meta name="generator" content="pandoc" />
+  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
+  <title>TTool help</title>
+  <style>
+      code{white-space: pre-wrap;}
+      span.smallcaps{font-variant: small-caps;}
+      span.underline{text-decoration: underline;}
+      div.column{display: inline-block; vertical-align: top; width: 50%;}
+  </style>
+  <!--[if lt IE 9]>
+    <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
+  <![endif]-->
+</head>
+<body>
+<h2 id="data-size">Data size</h2>
+<p>The size of an EXECI/EXECC operation, in number of bytes</p>
+</body>
+</html>
diff --git a/src/main/resources/help/datasize.md b/src/main/resources/help/datasize.md
new file mode 100644
index 0000000000000000000000000000000000000000..affbb80116ee8b26f5f020930afc7b13aa47fbd9
--- /dev/null
+++ b/src/main/resources/help/datasize.md
@@ -0,0 +1,2 @@
+## Data size
+The size of an EXECI/EXECC operation, in number of bytes
\ No newline at end of file
diff --git a/src/main/resources/help/encryption.html b/src/main/resources/help/encryption.html
new file mode 100644
index 0000000000000000000000000000000000000000..eb7c2ec55444d5d6d82753e10b0402c9ff86e3a1
--- /dev/null
+++ b/src/main/resources/help/encryption.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
+<head>
+  <meta charset="utf-8" />
+  <meta name="generator" content="pandoc" />
+  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
+  <title>TTool help</title>
+  <style>
+      code{white-space: pre-wrap;}
+      span.smallcaps{font-variant: small-caps;}
+      span.underline{text-decoration: underline;}
+      div.column{display: inline-block; vertical-align: top; width: 50%;}
+  </style>
+  <!--[if lt IE 9]>
+    <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
+  <![endif]-->
+</head>
+<body>
+<h2 id="encryption">Encryption</h2>
+<p>The encryption :</p>
+<ul>
+<li>None</li>
+<li>Software Encryption</li>
+<li>Hardware Security Module</li>
+</ul>
+</body>
+</html>
diff --git a/src/main/resources/help/encryption.md b/src/main/resources/help/encryption.md
new file mode 100644
index 0000000000000000000000000000000000000000..ca300a8f8e4becfb410743895f79cb86ce177ae0
--- /dev/null
+++ b/src/main/resources/help/encryption.md
@@ -0,0 +1,6 @@
+## Encryption
+The encryption :
+
+- None
+- Software Encryption
+- Hardware Security Module
\ No newline at end of file
diff --git a/src/main/resources/help/execc.html b/src/main/resources/help/execc.html
new file mode 100644
index 0000000000000000000000000000000000000000..1aa4e018dd623674ced94eb759a39f690189d22f
--- /dev/null
+++ b/src/main/resources/help/execc.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
+<head>
+  <meta charset="utf-8" />
+  <meta name="generator" content="pandoc" />
+  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
+  <title>TTool help</title>
+  <style>
+      code{white-space: pre-wrap;}
+      span.smallcaps{font-variant: small-caps;}
+      span.underline{text-decoration: underline;}
+      div.column{display: inline-block; vertical-align: top; width: 50%;}
+  </style>
+  <!--[if lt IE 9]>
+    <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
+  <![endif]-->
+</head>
+<body>
+<h2 id="execc-execution-time-in-cycle">EXECC execution time (in cycle)</h2>
+<p>The number of clock cycles corresponding to an operation on complex numbers</p>
+</body>
+</html>
diff --git a/src/main/resources/help/execc.md b/src/main/resources/help/execc.md
new file mode 100644
index 0000000000000000000000000000000000000000..e5aa709256e6dff6cf9e06471e0a8475a544dcd5
--- /dev/null
+++ b/src/main/resources/help/execc.md
@@ -0,0 +1,2 @@
+## EXECC execution time (in cycle)
+The number of clock cycles corresponding to an operation on complex numbers
\ No newline at end of file
diff --git a/src/main/resources/help/execi.html b/src/main/resources/help/execi.html
new file mode 100644
index 0000000000000000000000000000000000000000..9823bfab6e128874f75056129a91d0b1522d5968
--- /dev/null
+++ b/src/main/resources/help/execi.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
+<head>
+  <meta charset="utf-8" />
+  <meta name="generator" content="pandoc" />
+  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
+  <title>TTool help</title>
+  <style>
+      code{white-space: pre-wrap;}
+      span.smallcaps{font-variant: small-caps;}
+      span.underline{text-decoration: underline;}
+      div.column{display: inline-block; vertical-align: top; width: 50%;}
+  </style>
+  <!--[if lt IE 9]>
+    <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
+  <![endif]-->
+</head>
+<body>
+<h2 id="execi-execution-time-in-cycle">EXECI execution time (in cycle)</h2>
+<p>The number of clock cycles corresponding to an integer operation</p>
+</body>
+</html>
diff --git a/src/main/resources/help/execi.md b/src/main/resources/help/execi.md
new file mode 100644
index 0000000000000000000000000000000000000000..02ec5c7d49219b23a687d078ac16323270c9318a
--- /dev/null
+++ b/src/main/resources/help/execi.md
@@ -0,0 +1,2 @@
+## EXECI execution time (in cycle)
+The number of clock cycles corresponding to an integer operation
\ No newline at end of file
diff --git a/src/main/resources/help/goidletime.html b/src/main/resources/help/goidletime.html
new file mode 100644
index 0000000000000000000000000000000000000000..4c70954aeabb460d2c7f339c186b124e9f3b9152
--- /dev/null
+++ b/src/main/resources/help/goidletime.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
+<head>
+  <meta charset="utf-8" />
+  <meta name="generator" content="pandoc" />
+  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
+  <title>TTool help</title>
+  <style>
+      code{white-space: pre-wrap;}
+      span.smallcaps{font-variant: small-caps;}
+      span.underline{text-decoration: underline;}
+      div.column{display: inline-block; vertical-align: top; width: 50%;}
+  </style>
+  <!--[if lt IE 9]>
+    <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
+  <![endif]-->
+</head>
+<body>
+<h2 id="go-idle-time-in-cycle">Go idle time (in cycle)</h2>
+<p>The time taken by the OS and the CPU hardware to go idle</p>
+</body>
+</html>
diff --git a/src/main/resources/help/goidletime.md b/src/main/resources/help/goidletime.md
new file mode 100644
index 0000000000000000000000000000000000000000..68f6c1170d4ded3468dad191eb69e3547211cdc3
--- /dev/null
+++ b/src/main/resources/help/goidletime.md
@@ -0,0 +1,2 @@
+## Go idle time (in cycle)
+The time taken by the OS and the CPU hardware to go idle
\ No newline at end of file
diff --git a/src/main/resources/help/helpTable.txt b/src/main/resources/help/helpTable.txt
index 5f85c7f91faec3f240bcf8c80abc2d9bcf745592..49f22de0e8eabee19d316796eaf392a7cfc6bba3 100644
--- a/src/main/resources/help/helpTable.txt
+++ b/src/main/resources/help/helpTable.txt
@@ -3,8 +3,26 @@
 - diplodocus diplodocus hardware software partitioning dse design space exploration
 -- architecture architecture hardware os operating system
 --- cpu cpu processor cpu os
+
+----cpuname cpu_name cpu name
+----schedulingpolicy scheduling_policy scheduling policy cpu
+----slicetime slice_time slice time cpu
+----numbercores number_of_core number core cpu
+----datasize data_size data size cpu
+----pipelinesize pipeline_size pipeline size cpu
+----taskswitchingtime task_switching_time task switching time cpu
+----misbrandingprediction mis-branding_prediction mis branding prediction cpu
+----cachemiss cache_miss cache miss cpu
+----goidletime go_idle_time go idle time cpu
+----maxconsecutivecycles max_consecutive_cycles_before_idle max consecutive cycles before idle cpu
+----execi execi_execution_time execi execution time cpu
+----execc execc_execution_time execc execution time cpu
 ----clockdivider clock_divider clock divider cpu
--- mapping mapping tasks communication mapping 
+----encryption encryption encryption cpu
+----operation operation operation cpu
+----cpuextension cpu_extension_construct cpu extension construct
+
+-- mapping mapping tasks communication mapping
 ---taskmapping taskmapping tasks mapping
 ---communicationmapping communicationmapping communication mapping
 - avatar avatar software embedded systems safety security
diff --git a/src/main/resources/help/maxconsecutivecycles.html b/src/main/resources/help/maxconsecutivecycles.html
new file mode 100644
index 0000000000000000000000000000000000000000..2cdd0c028a5ca3908743df083f6cf9fad079bd12
--- /dev/null
+++ b/src/main/resources/help/maxconsecutivecycles.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
+<head>
+  <meta charset="utf-8" />
+  <meta name="generator" content="pandoc" />
+  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
+  <title>TTool help</title>
+  <style>
+      code{white-space: pre-wrap;}
+      span.smallcaps{font-variant: small-caps;}
+      span.underline{text-decoration: underline;}
+      div.column{display: inline-block; vertical-align: top; width: 50%;}
+  </style>
+  <!--[if lt IE 9]>
+    <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
+  <![endif]-->
+</head>
+<body>
+<h2 id="max-consecutive-cycles-before-idle-in-cycle">Max consecutive cycles before idle (in cycle)</h2>
+<p>Number of consecutive cycles of NOPs before the CPU goes idle</p>
+</body>
+</html>
diff --git a/src/main/resources/help/maxconsecutivecycles.md b/src/main/resources/help/maxconsecutivecycles.md
new file mode 100644
index 0000000000000000000000000000000000000000..23992cc68ad54295619a63584501dfede2a2defa
--- /dev/null
+++ b/src/main/resources/help/maxconsecutivecycles.md
@@ -0,0 +1,2 @@
+## Max consecutive cycles before idle (in cycle)
+Number of consecutive cycles of NOPs before the CPU goes idle
\ No newline at end of file
diff --git a/src/main/resources/help/misbrandingprediction.html b/src/main/resources/help/misbrandingprediction.html
new file mode 100644
index 0000000000000000000000000000000000000000..8393e35e153c05ebd7c5f8bca95e2f673435b5eb
--- /dev/null
+++ b/src/main/resources/help/misbrandingprediction.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
+<head>
+  <meta charset="utf-8" />
+  <meta name="generator" content="pandoc" />
+  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
+  <title>TTool help</title>
+  <style>
+      code{white-space: pre-wrap;}
+      span.smallcaps{font-variant: small-caps;}
+      span.underline{text-decoration: underline;}
+      div.column{display: inline-block; vertical-align: top; width: 50%;}
+  </style>
+  <!--[if lt IE 9]>
+    <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
+  <![endif]-->
+</head>
+<body>
+<h2 id="mis-branching-prediction-in">Mis-branching prediction (in %)</h2>
+<p>The miss percentage of the CPU branch prediction scheme</p>
+</body>
+</html>
diff --git a/src/main/resources/help/misbrandingprediction.md b/src/main/resources/help/misbrandingprediction.md
new file mode 100644
index 0000000000000000000000000000000000000000..e51e94362e912027dcc361c99884e7e4942c70b4
--- /dev/null
+++ b/src/main/resources/help/misbrandingprediction.md
@@ -0,0 +1,2 @@
+## Mis-branching prediction (in %)
+The miss percentage of the CPU branch prediction scheme
\ No newline at end of file
diff --git a/src/main/resources/help/numbercores.html b/src/main/resources/help/numbercores.html
new file mode 100644
index 0000000000000000000000000000000000000000..f1796c60d5300cf62901ced547c2d1005c1a42b9
--- /dev/null
+++ b/src/main/resources/help/numbercores.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
+<head>
+  <meta charset="utf-8" />
+  <meta name="generator" content="pandoc" />
+  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
+  <title>TTool help</title>
+  <style>
+      code{white-space: pre-wrap;}
+      span.smallcaps{font-variant: small-caps;}
+      span.underline{text-decoration: underline;}
+      div.column{display: inline-block; vertical-align: top; width: 50%;}
+  </style>
+  <!--[if lt IE 9]>
+    <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
+  <![endif]-->
+</head>
+<body>
+<h2 id="nb-of-cores">Nb of Cores</h2>
+<p>The number of cores of the CPU</p>
+</body>
+</html>
diff --git a/src/main/resources/help/numbercores.md b/src/main/resources/help/numbercores.md
new file mode 100644
index 0000000000000000000000000000000000000000..0c97e0d83376486a2520db9e33f35fb9d7e91581
--- /dev/null
+++ b/src/main/resources/help/numbercores.md
@@ -0,0 +1,2 @@
+## Nb of Cores
+The number of cores of the CPU
\ No newline at end of file
diff --git a/src/main/resources/help/operation.html b/src/main/resources/help/operation.html
new file mode 100644
index 0000000000000000000000000000000000000000..9cc7a85a5a553e993d699958bb933b866e189d3a
--- /dev/null
+++ b/src/main/resources/help/operation.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
+<head>
+  <meta charset="utf-8" />
+  <meta name="generator" content="pandoc" />
+  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
+  <title>TTool help</title>
+  <style>
+      code{white-space: pre-wrap;}
+      span.smallcaps{font-variant: small-caps;}
+      span.underline{text-decoration: underline;}
+      div.column{display: inline-block; vertical-align: top; width: 50%;}
+  </style>
+  <!--[if lt IE 9]>
+    <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
+  <![endif]-->
+</head>
+<body>
+<h2 id="operation">Operation</h2>
+<p>Operation …</p>
+</body>
+</html>
diff --git a/src/main/resources/help/operation.md b/src/main/resources/help/operation.md
new file mode 100644
index 0000000000000000000000000000000000000000..1e02b486d7715358da273c7bd8a972b38a8d7fdd
--- /dev/null
+++ b/src/main/resources/help/operation.md
@@ -0,0 +1,2 @@
+## Operation
+Operation ...
\ No newline at end of file
diff --git a/src/main/resources/help/pipelinesize.html b/src/main/resources/help/pipelinesize.html
new file mode 100644
index 0000000000000000000000000000000000000000..a23289406df7fd2f5c5d247ba200cc318b06611f
--- /dev/null
+++ b/src/main/resources/help/pipelinesize.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
+<head>
+  <meta charset="utf-8" />
+  <meta name="generator" content="pandoc" />
+  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
+  <title>TTool help</title>
+  <style>
+      code{white-space: pre-wrap;}
+      span.smallcaps{font-variant: small-caps;}
+      span.underline{text-decoration: underline;}
+      div.column{display: inline-block; vertical-align: top; width: 50%;}
+  </style>
+  <!--[if lt IE 9]>
+    <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
+  <![endif]-->
+</head>
+<body>
+<h2 id="pipeline-size-num.-stages">Pipeline size (num. stages)</h2>
+<p>The number of stages of the pipeline</p>
+</body>
+</html>
diff --git a/src/main/resources/help/pipelinesize.md b/src/main/resources/help/pipelinesize.md
new file mode 100644
index 0000000000000000000000000000000000000000..890445da9649936777d7ad267bcc02be6c7f50f7
--- /dev/null
+++ b/src/main/resources/help/pipelinesize.md
@@ -0,0 +1,2 @@
+## Pipeline size (num. stages)
+The number of stages of the pipeline
\ No newline at end of file
diff --git a/src/main/resources/help/schedulingpolicy.html b/src/main/resources/help/schedulingpolicy.html
new file mode 100644
index 0000000000000000000000000000000000000000..35d309c1a0a15585f2233a65d1c7248128455202
--- /dev/null
+++ b/src/main/resources/help/schedulingpolicy.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
+<head>
+  <meta charset="utf-8" />
+  <meta name="generator" content="pandoc" />
+  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
+  <title>TTool help</title>
+  <style>
+      code{white-space: pre-wrap;}
+      span.smallcaps{font-variant: small-caps;}
+      span.underline{text-decoration: underline;}
+      div.column{display: inline-block; vertical-align: top; width: 50%;}
+  </style>
+  <!--[if lt IE 9]>
+    <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
+  <![endif]-->
+</head>
+<body>
+<h2 id="scheduling-policy">Scheduling policy</h2>
+<p>The arbitration policy used by OS to schedule mapped tasks</p>
+</body>
+</html>
diff --git a/src/main/resources/help/schedulingpolicy.md b/src/main/resources/help/schedulingpolicy.md
new file mode 100644
index 0000000000000000000000000000000000000000..315db886d246a4e778c3c7cb6fee4b451d7de1ab
--- /dev/null
+++ b/src/main/resources/help/schedulingpolicy.md
@@ -0,0 +1,2 @@
+## Scheduling policy
+The arbitration policy used by OS to schedule mapped tasks
\ No newline at end of file
diff --git a/src/main/resources/help/slicetime.html b/src/main/resources/help/slicetime.html
new file mode 100644
index 0000000000000000000000000000000000000000..5cc055ed501074cb5aa6608af5782263ecca4960
--- /dev/null
+++ b/src/main/resources/help/slicetime.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
+<head>
+  <meta charset="utf-8" />
+  <meta name="generator" content="pandoc" />
+  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
+  <title>TTool help</title>
+  <style>
+      code{white-space: pre-wrap;}
+      span.smallcaps{font-variant: small-caps;}
+      span.underline{text-decoration: underline;}
+      div.column{display: inline-block; vertical-align: top; width: 50%;}
+  </style>
+  <!--[if lt IE 9]>
+    <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
+  <![endif]-->
+</head>
+<body>
+<h2 id="slice-time">slice time</h2>
+<p>The maximum time allocated by the OS scheduler to execute a task</p>
+</body>
+</html>
diff --git a/src/main/resources/help/slicetime.md b/src/main/resources/help/slicetime.md
new file mode 100644
index 0000000000000000000000000000000000000000..cf18a3ca80810dd109d48e5de500647a1437c7d1
--- /dev/null
+++ b/src/main/resources/help/slicetime.md
@@ -0,0 +1,2 @@
+## slice time
+The maximum time allocated by the OS scheduler to execute a task
\ No newline at end of file
diff --git a/src/main/resources/help/taskswitchingtime.html b/src/main/resources/help/taskswitchingtime.html
new file mode 100644
index 0000000000000000000000000000000000000000..5aa245c8ca7df3c332249aece7c5019f87f4252b
--- /dev/null
+++ b/src/main/resources/help/taskswitchingtime.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
+<head>
+  <meta charset="utf-8" />
+  <meta name="generator" content="pandoc" />
+  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
+  <title>TTool help</title>
+  <style>
+      code{white-space: pre-wrap;}
+      span.smallcaps{font-variant: small-caps;}
+      span.underline{text-decoration: underline;}
+      div.column{display: inline-block; vertical-align: top; width: 50%;}
+  </style>
+  <!--[if lt IE 9]>
+    <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
+  <![endif]-->
+</head>
+<body>
+<h2 id="task-switching-time-in-cycle">Task switching time (in cycle)</h2>
+<p>The time taken by the OS for a context switch</p>
+</body>
+</html>
diff --git a/src/main/resources/help/taskswitchingtime.md b/src/main/resources/help/taskswitchingtime.md
new file mode 100644
index 0000000000000000000000000000000000000000..640bbb54ea477a444aaafd816105cfd2ad26d835
--- /dev/null
+++ b/src/main/resources/help/taskswitchingtime.md
@@ -0,0 +1,2 @@
+## Task switching time (in cycle)
+The time taken by the OS for a context switch
\ No newline at end of file