diff --git a/src/main/java/cli/Action.java b/src/main/java/cli/Action.java
index 2604c33679fe868b95c2e7775d95bf9e8f30f724..0e3ed52557e969a490fc05d670febc29193c1e05 100644
--- a/src/main/java/cli/Action.java
+++ b/src/main/java/cli/Action.java
@@ -81,6 +81,14 @@ public class Action extends Command  {
         return "a";
     }
 
+    public String getUsage() {
+        return "action <subcommand> <options>";
+    }
+
+    public String getDescription() {
+        return "Can be used to trigger an action in TTool";
+    }
+
 
     public  String executeCommand(String command, Interpreter interpreter) {
         int index = command.indexOf(" ");
@@ -120,6 +128,7 @@ public class Action extends Command  {
         Command start = new Command() {
             public String getCommand() { return START; }
             public String getShortCommand() { return "s"; }
+            public String getDescription() { return "Starting the graphical interface of TTool"; }
 
             public  String executeCommand(String command, Interpreter interpreter) {
                 if (interpreter.isTToolStarted()) {
@@ -154,6 +163,7 @@ public class Action extends Command  {
         Command open = new Command() {
             public String getCommand() { return OPEN; }
             public String getShortCommand() { return "o"; }
+            public String getDescription() { return "Opening a model in TTool"; }
 
             public  String executeCommand(String command, Interpreter interpreter) {
                 if (!interpreter.isTToolStarted()) {
@@ -170,6 +180,7 @@ public class Action extends Command  {
         Command quit = new Command() {
             public String getCommand() { return QUIT; }
             public String getShortCommand() { return "q"; }
+            public String getDescription() { return "Closing the graphical interface of TTool"; }
 
             public  String executeCommand(String command, Interpreter interpreter) {
                 if (!interpreter.isTToolStarted()) {
@@ -180,10 +191,11 @@ public class Action extends Command  {
             }
         };
 
-        // Quit
+        // Check syntax
         Command checkSyntax = new Command() {
             public String getCommand() { return "checksyntax"; }
             public String getShortCommand() { return "cs"; }
+            public String getDescription() { return "Checking the syntax of an opened model"; }
 
             public  String executeCommand(String command, Interpreter interpreter) {
                 if (!interpreter.isTToolStarted()) {
diff --git a/src/main/java/cli/Command.java b/src/main/java/cli/Command.java
index 1b645c25c78ecd6fb584d3c9cf3ed244f6c7505d..23e4eceab21f4448c0020a98a2848cea2406fe24 100644
--- a/src/main/java/cli/Command.java
+++ b/src/main/java/cli/Command.java
@@ -68,20 +68,56 @@ public class Command implements CommandInterface {
     public  String getShortCommand() {
         return getCommand();
     }
+    public String getExample() {
+        return "";
+    }
+
     public String executeCommand(String command, Interpreter interpreter) {
         return null;
     }
 
+
     public void fillSubCommands() {
 
     }
 
     public String getUsage() {
-        return "No usage";
+        return "";
     }
 
     public String getDescription() {
-        return "Not meant to be used";
+        return "";
+    }
+
+    public String getHelp(int level) {
+        String dec = getLevelString(level);
+        /*String h = "";
+        h+= getCommand() + " (" + getShortCommand() + "): " + getUsage() + "\n" + getDescription() + "\n";
+
+        for (Command c: subcommands) {
+            h+= "\t" + c.getHelp();
+        }*/
+
+        StringBuffer b = new StringBuffer(dec + "* " + getCommand() + " (" + getShortCommand() + "): " + getUsage() + "\n" + dec + getDescription() +
+                "\n");
+        if (getExample().length() > 0) {
+            b.append(dec + "Example: " + getExample() + "\n");
+        }
+
+        subcommands.forEach( (c) -> { b.append(c.getHelp(level + 1)); });
+
+
+        return b.toString();
+    }
+
+    public String getLevelString(int level) {
+        String ret = "";
+        while(level > 0) {
+            ret += "\t";
+            level --;
+        }
+        return ret;
+
     }
 
 
diff --git a/src/main/java/cli/CommandInterface.java b/src/main/java/cli/CommandInterface.java
index 1011168f6a60a8d0bbeee7a8d23999b911a70504..6ddaea3b6580cf0db5ad671e72ff78f718def410 100644
--- a/src/main/java/cli/CommandInterface.java
+++ b/src/main/java/cli/CommandInterface.java
@@ -54,6 +54,7 @@ public interface CommandInterface  {
     List<Command> getListOfSubCommands();
     String getCommand();
     String getShortCommand();
+    String getExample();
 
     // return null in case of success, or a error string in case of failure.
     String executeCommand(String command, Interpreter interpreter);
diff --git a/src/main/java/cli/Interpreter.java b/src/main/java/cli/Interpreter.java
index 78a74587533cc41fd2b532a87e4d418f13ad31e0..a186ff950c4df3647e27544adf025e9bac0186d0 100644
--- a/src/main/java/cli/Interpreter.java
+++ b/src/main/java/cli/Interpreter.java
@@ -210,4 +210,14 @@ public class Interpreter  {
         return show;
     }
 
+
+
+    public String getHelp() {
+        StringBuffer buf = new StringBuffer("");
+        for(Command c:commands) {
+            buf.append(c.getHelp(0) + "\n");
+        }
+        return buf.toString();
+    }
+
 }
diff --git a/src/main/java/cli/Print.java b/src/main/java/cli/Print.java
index 75fc40a2d26df4776d70b9885e7890ec82822b09..788b82584ce9bc0494ec51a668a4d8fba06efbf2 100644
--- a/src/main/java/cli/Print.java
+++ b/src/main/java/cli/Print.java
@@ -77,8 +77,14 @@ public class Print extends Command  {
         return "p";
     }
 
+    public String getUsage() { return "print <subcommand>"; }
 
-    public  String executeCommand(String command, Interpreter interpreter) {
+    public String getDescription() {
+        return "Can be used to print elements of the diagram";
+    }
+
+
+    /*public  String executeCommand(String command, Interpreter interpreter) {
         int index = command.indexOf(" ");
         String nextCommand;
         String args;
@@ -98,13 +104,34 @@ public class Print extends Command  {
 
         return Interpreter.UNKNOWN_NEXT_COMMAND + nextCommand;
 
-    }
+    }*/
 
     public void fillSubCommands() {
+        Command tabs = new Command() {
+            public String getCommand() { return TABS; }
+            public String getShortCommand() { return "t"; }
+            public String getDescription() { return "Printing the name of the tabs in the order of the (graphical) model"; }
+
+            public  String executeCommand(String command, Interpreter interpreter) {
+                if (interpreter.isTToolStarted()) {
+                    return Interpreter.TTOOL_ALREADY_STARTED;
+                }
+                String tabs = "";
+                Vector<TURTLEPanel> panels = interpreter.mgui.getTabs();
+                for(TURTLEPanel pane: panels) {
+                    tabs += interpreter.mgui.getTitleAt(pane) + " ";
+                }
+
+                System.out.println("Tabs: " + tabs);
+
+                return null;
+            }
+        };
+        subcommands.add(tabs);
 
     }
 
-    public String printTabs(Interpreter interpreter) {
+    /*public String printTabs(Interpreter interpreter) {
         if (!interpreter.isTToolStarted()) {
             return Interpreter.TTOOL_NOT_STARTED;
         }
@@ -119,5 +146,5 @@ public class Print extends Command  {
 
         return null;
 
-    }
+    }*/
 }
diff --git a/src/main/java/cli/Set.java b/src/main/java/cli/Set.java
index 346c82b863e38734138fa95d2d1e359b95926a7a..f187c42bca2ae59d7b718a5558eb834b14c5a554 100644
--- a/src/main/java/cli/Set.java
+++ b/src/main/java/cli/Set.java
@@ -76,6 +76,18 @@ public class Set extends Command  {
         return "s";
     }
 
+    public String getUsage() {
+        return "set <variable name> <value>";
+    }
+
+    public String getDescription() {
+        return "Used to set a variable to a given value";
+    }
+
+    public String getExample() {
+        return "set model modeling/AVATAR/PressureController.xml";
+    }
+
 
     public  String executeCommand(String command, Interpreter interpreter) {
         int index = command.indexOf(" ");
diff --git a/src/main/java/cli/Wait.java b/src/main/java/cli/Wait.java
index 443c0657d87d5d65af7a8899325aeb3159a86471..f8c9ac1c79b0dd8ee5278eacccfebbe15570764b 100644
--- a/src/main/java/cli/Wait.java
+++ b/src/main/java/cli/Wait.java
@@ -76,6 +76,14 @@ public class Wait extends Command  {
         return "w";
     }
 
+    public String getUsage() { return "wait <time in s>"; }
+
+    public String getDescription() { return "Making a pause in the execution of TTool"; }
+
+    public String getExample() {
+        return "wait 2";
+    }
+
 
     public  String executeCommand(String command, Interpreter interpreter) {
         try {
diff --git a/src/main/java/ui/avatarad/AvatarADAcceptEventAction.java b/src/main/java/ui/avatarad/AvatarADAcceptEventAction.java
index 4c2cb5c0647315cbd26be50c6ed5c5b9ef672976..58d1ca96757ee600439bd0e82716d113d6c66bf3 100755
--- a/src/main/java/ui/avatarad/AvatarADAcceptEventAction.java
+++ b/src/main/java/ui/avatarad/AvatarADAcceptEventAction.java
@@ -135,7 +135,7 @@ public class AvatarADAcceptEventAction extends  AvatarADBasicCanBeDisabledCompon
         g.drawLine(x, y, x+linebreak, y+height/2);
         g.drawLine(x, y+height, x+linebreak, y+height/2);
 
-        g.drawString("evt", x+(width-w) / 2, y);
+        //g.drawString("evt", x+(width-w) / 2, y);
         g.drawString(value, x + linebreak + textX1, y + (int)((textY*tdp.getZoom())));
 
     }
diff --git a/src/main/java/ui/avatarad/AvatarADSendSignalAction.java b/src/main/java/ui/avatarad/AvatarADSendSignalAction.java
index 6c01f804d1f0ef66e6ab9c7633e580a3f2ce83e3..6737d597a2207ce6c8863c927dc4931c319e1f41 100755
--- a/src/main/java/ui/avatarad/AvatarADSendSignalAction.java
+++ b/src/main/java/ui/avatarad/AvatarADSendSignalAction.java
@@ -139,7 +139,7 @@ public class AvatarADSendSignalAction extends AvatarADBasicCanBeDisabledComponen
         g.drawLine(x+width-linebreak, y, x+width, y+height/2);
         g.drawLine(x+width-linebreak, y+height, x+width, y+height/2);
 
-        g.drawString("sig", x+(width-w) / 2, y);
+        //g.drawString("sig", x+(width-w) / 2, y);
         g.drawString(value, x + (width - w) / 2 , y + (int)((textY*tdp.getZoom())));
     }
 
diff --git a/src/main/java/ui/window/JDialogNote.java b/src/main/java/ui/window/JDialogNote.java
index c6b9c8544e89dea24a57eb13efde11f885177691..1da534f5d51e602f863d5783d5d08f18b7c4f283 100644
--- a/src/main/java/ui/window/JDialogNote.java
+++ b/src/main/java/ui/window/JDialogNote.java
@@ -104,8 +104,8 @@ public class JDialogNote extends JDialogBase implements ActionListener {
         cancel.addActionListener(this);
         
         JPanel jp = new JPanel();
-        jp.add(close);
         jp.add(cancel);
+        jp.add(close);
         
         c.add(jp, BorderLayout.SOUTH);
     }
diff --git a/ttool-cli/src/main/java/TToolCLI.java b/ttool-cli/src/main/java/TToolCLI.java
index bda66262b51ad2c95937dba86765aad2e059287d..a4d1b08f9c6a4e142d7fe4692e95381fcc9006ee 100755
--- a/ttool-cli/src/main/java/TToolCLI.java
+++ b/ttool-cli/src/main/java/TToolCLI.java
@@ -67,8 +67,9 @@ public class TToolCLI implements InterpreterOutputInterface {
 
     public static void printUsage() {
         System.out.println("ttool-cli: usage");
-        System.out.println("ttool-cli <script file>");
+        System.out.println("ttool-cli <script file> OR ttool-cli -help");
         System.out.println("options: -debug -show");
+
     }
 
     public static boolean checkArgs(String[] args) {
@@ -95,6 +96,16 @@ public class TToolCLI implements InterpreterOutputInterface {
         return false;
     }
 
+    public static boolean hasHelp(String[] args) {
+        for (String s : args) {
+            if (s.equals("-help")) {
+                return true;
+            }
+
+        }
+        return false;
+    }
+
     public static String getInputFile(String[] args) {
         return args[args.length - 1];
     }
@@ -104,6 +115,7 @@ public class TToolCLI implements InterpreterOutputInterface {
     public static void main(String[] args) {
         String[] tmp;
 
+
         printCopyright();
 
         if (!checkArgs(args)) {
@@ -122,19 +134,34 @@ public class TToolCLI implements InterpreterOutputInterface {
             show = true;
         }
 
+        boolean help = false;
+        if (hasHelp(args)) {
+            help = true;
+        }
+
+
         TToolCLI cli = new TToolCLI();
-        cli.print("Loading script:" + getInputFile(args));
-        // Load script file
-        File f = new File(getInputFile(args));
-        if (!FileUtils.checkFileForOpen(f)) {
-            cli.printError("File " + f.getAbsolutePath() + " could not be opened.");
-            cli.exit(-1);
+        String script = null;
+
+        if (!help) {
+            cli.print("Loading script:" + getInputFile(args));
+            // Load script file
+            File f = new File(getInputFile(args));
+            if (!FileUtils.checkFileForOpen(f)) {
+                cli.printError("File " + f.getAbsolutePath() + " could not be opened.");
+                cli.exit(-1);
+            }
+            script = FileUtils.loadFileData(f);
         }
-        String script = FileUtils.loadFileData(f);
 
         // Call Interpreter
         Interpreter interpret = new Interpreter(script, (InterpreterOutputInterface)cli, show);
-        interpret.interpret();
+        if (help) {
+            String fullHelp = interpret.getHelp();
+            System.out.println(fullHelp);
+        } else {
+            interpret.interpret();
+        }
 
     }