diff --git a/src/main/java/cli/Action.java b/src/main/java/cli/Action.java
index 680bb93f9b740196d9ca240328960613151945b4..d0eb035b6f9cfa254b5b811a1e3e95f1e29e45a6 100644
--- a/src/main/java/cli/Action.java
+++ b/src/main/java/cli/Action.java
@@ -50,15 +50,16 @@ import java.util.*;
  * @author Ludovic APVRILLE
  */
 public class Action extends Command  {
-    private final String[] SUB_COMMANDS = {"open"};
+    private List<Command> subcommands;
 
 
     public Action() {
+        subcommands = new LinkedList<Command>();
 
     }
 
-    public String[] getListOfSubCommands() {
-        return SUB_COMMANDS;
+    public List<Command> getListOfSubCommands() {
+        return subcommands;
     }
 
     public String getCommand() {
diff --git a/src/main/java/cli/Command.java b/src/main/java/cli/Command.java
index a94415061300877ae0eb298ad9cb9a37417e3648..1f8a5d88ec68df2609e2645f709cc4299896eb17 100644
--- a/src/main/java/cli/Command.java
+++ b/src/main/java/cli/Command.java
@@ -51,7 +51,7 @@ import java.util.*;
  */
 public abstract class Command  {
 
-    public abstract String[] getListOfSubCommands();
+    public abstract List<Command> getListOfSubCommands();
     public abstract String getCommand();
     public abstract String getShortCommand();
     public abstract boolean executeCommand(String command, InterpreterOutputInterface output);
diff --git a/src/main/java/cli/Interpreter.java b/src/main/java/cli/Interpreter.java
index 9d73481f11e463558cac2e802c032d6d96db9601..fe4c24a786dfe5c3e82f6738fe537674cffd5b55 100644
--- a/src/main/java/cli/Interpreter.java
+++ b/src/main/java/cli/Interpreter.java
@@ -74,6 +74,8 @@ public class Interpreter  {
     private final static String OPEN = "open";
     private final static String START = "start";
     private final static String QUIT = "quit";
+    private final static String CHECKSYNTAX = "checksyntax";
+
 
 
     // Errors