diff --git a/src/main/java/de/prob2/jupyter/commands/Command.java b/src/main/java/de/prob2/jupyter/Command.java
similarity index 97%
rename from src/main/java/de/prob2/jupyter/commands/Command.java
rename to src/main/java/de/prob2/jupyter/Command.java
index 35526770e4e6e0b6dbc137baa6a93f920879de09..ebeca7c7a170a289a70b6b56aa747f3fbf51f137 100644
--- a/src/main/java/de/prob2/jupyter/commands/Command.java
+++ b/src/main/java/de/prob2/jupyter/Command.java
@@ -1,4 +1,4 @@
-package de.prob2.jupyter.commands;
+package de.prob2.jupyter;
 
 import io.github.spencerpark.jupyter.kernel.ReplacementOptions;
 import io.github.spencerpark.jupyter.kernel.display.DisplayData;
diff --git a/src/main/java/de/prob2/jupyter/commands/CommandExecutionException.java b/src/main/java/de/prob2/jupyter/CommandExecutionException.java
similarity index 89%
rename from src/main/java/de/prob2/jupyter/commands/CommandExecutionException.java
rename to src/main/java/de/prob2/jupyter/CommandExecutionException.java
index 0cb1e68ee4527003664f92f95ed66452c89bf16f..e423203acadeee746ac0b08970aa4dad3bba8aba 100644
--- a/src/main/java/de/prob2/jupyter/commands/CommandExecutionException.java
+++ b/src/main/java/de/prob2/jupyter/CommandExecutionException.java
@@ -1,6 +1,4 @@
-package de.prob2.jupyter.commands;
-
-import de.prob2.jupyter.UserErrorException;
+package de.prob2.jupyter;
 
 import org.jetbrains.annotations.NotNull;
 
diff --git a/src/main/java/de/prob2/jupyter/commands/CommandUtils.java b/src/main/java/de/prob2/jupyter/CommandUtils.java
similarity index 99%
rename from src/main/java/de/prob2/jupyter/commands/CommandUtils.java
rename to src/main/java/de/prob2/jupyter/CommandUtils.java
index 954fb8c582e3370f18c7a200fbccad83477ae43a..e2b855a9907397ab9000ac1e64f9161a5e9bd991 100644
--- a/src/main/java/de/prob2/jupyter/commands/CommandUtils.java
+++ b/src/main/java/de/prob2/jupyter/CommandUtils.java
@@ -1,4 +1,4 @@
-package de.prob2.jupyter.commands;
+package de.prob2.jupyter;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -32,7 +32,6 @@ import de.prob.animator.domainobjects.WDError;
 import de.prob.exception.ProBError;
 import de.prob.statespace.Trace;
 import de.prob.unicode.UnicodeTranslator;
-import de.prob2.jupyter.UserErrorException;
 
 import io.github.spencerpark.jupyter.kernel.ReplacementOptions;
 import io.github.spencerpark.jupyter.kernel.display.DisplayData;
diff --git a/src/main/java/de/prob2/jupyter/commands/NoSuchCommandException.java b/src/main/java/de/prob2/jupyter/NoSuchCommandException.java
similarity index 93%
rename from src/main/java/de/prob2/jupyter/commands/NoSuchCommandException.java
rename to src/main/java/de/prob2/jupyter/NoSuchCommandException.java
index f69166559cec07197ddc79db64aa6000816c150c..5cd819912490bd6139d9dd3ec87b3b61127dc6cf 100644
--- a/src/main/java/de/prob2/jupyter/commands/NoSuchCommandException.java
+++ b/src/main/java/de/prob2/jupyter/NoSuchCommandException.java
@@ -1,6 +1,4 @@
-package de.prob2.jupyter.commands;
-
-import de.prob2.jupyter.UserErrorException;
+package de.prob2.jupyter;
 
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
diff --git a/src/main/java/de/prob2/jupyter/ProBKernel.java b/src/main/java/de/prob2/jupyter/ProBKernel.java
index 6cbd5731aa1f011e672eb9d5f89582ab2eb35cba..eaed9c661dde6a6e808561c1dbf5b66b7c1afdb6 100644
--- a/src/main/java/de/prob2/jupyter/ProBKernel.java
+++ b/src/main/java/de/prob2/jupyter/ProBKernel.java
@@ -31,9 +31,6 @@ import de.prob2.jupyter.commands.AssertCommand;
 import de.prob2.jupyter.commands.BrowseCommand;
 import de.prob2.jupyter.commands.BsymbCommand;
 import de.prob2.jupyter.commands.CheckCommand;
-import de.prob2.jupyter.commands.Command;
-import de.prob2.jupyter.commands.CommandExecutionException;
-import de.prob2.jupyter.commands.CommandUtils;
 import de.prob2.jupyter.commands.ConstantsCommand;
 import de.prob2.jupyter.commands.DotCommand;
 import de.prob2.jupyter.commands.EvalCommand;
@@ -47,7 +44,6 @@ import de.prob2.jupyter.commands.LetCommand;
 import de.prob2.jupyter.commands.LoadCellCommand;
 import de.prob2.jupyter.commands.LoadFileCommand;
 import de.prob2.jupyter.commands.ModelCheckCommand;
-import de.prob2.jupyter.commands.NoSuchCommandException;
 import de.prob2.jupyter.commands.PrefCommand;
 import de.prob2.jupyter.commands.PrettyPrintCommand;
 import de.prob2.jupyter.commands.RenderCommand;
@@ -60,7 +56,6 @@ import de.prob2.jupyter.commands.TraceCommand;
 import de.prob2.jupyter.commands.TypeCommand;
 import de.prob2.jupyter.commands.UnletCommand;
 import de.prob2.jupyter.commands.VersionCommand;
-import de.prob2.jupyter.commands.WithSourceCodeException;
 
 import io.github.spencerpark.jupyter.kernel.BaseKernel;
 import io.github.spencerpark.jupyter.kernel.LanguageInfo;
diff --git a/src/main/java/de/prob2/jupyter/commands/WithSourceCodeException.java b/src/main/java/de/prob2/jupyter/WithSourceCodeException.java
similarity index 94%
rename from src/main/java/de/prob2/jupyter/commands/WithSourceCodeException.java
rename to src/main/java/de/prob2/jupyter/WithSourceCodeException.java
index 71e46189e99ecc05ff71c4c754662c31a20c3eeb..855c6abed27751fba140e1a4357cf7e1966f794b 100644
--- a/src/main/java/de/prob2/jupyter/commands/WithSourceCodeException.java
+++ b/src/main/java/de/prob2/jupyter/WithSourceCodeException.java
@@ -1,4 +1,4 @@
-package de.prob2.jupyter.commands;
+package de.prob2.jupyter;
 
 import de.prob.exception.ProBError;
 
diff --git a/src/main/java/de/prob2/jupyter/commands/AssertCommand.java b/src/main/java/de/prob2/jupyter/commands/AssertCommand.java
index 126842323fe8f8cd3bb965e14b4a998b60d8b72a..0d79d7ac62b1f02ccf67a5700a7ad2adf12225fb 100644
--- a/src/main/java/de/prob2/jupyter/commands/AssertCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/AssertCommand.java
@@ -7,6 +7,8 @@ import de.prob.animator.domainobjects.AbstractEvalResult;
 import de.prob.animator.domainobjects.EvalResult;
 import de.prob.animator.domainobjects.FormulaExpand;
 import de.prob.statespace.AnimationSelector;
+import de.prob2.jupyter.Command;
+import de.prob2.jupyter.CommandUtils;
 import de.prob2.jupyter.ProBKernel;
 import de.prob2.jupyter.UserErrorException;
 
diff --git a/src/main/java/de/prob2/jupyter/commands/BrowseCommand.java b/src/main/java/de/prob2/jupyter/commands/BrowseCommand.java
index 852ea6f30b8cabc043f1525f8a42f01e8707aa85..6ec6593be8c7687d38ebfbd72e2d362f4e700d11 100644
--- a/src/main/java/de/prob2/jupyter/commands/BrowseCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/BrowseCommand.java
@@ -12,6 +12,7 @@ import de.prob.statespace.LoadedMachine;
 import de.prob.statespace.Trace;
 import de.prob.statespace.Transition;
 
+import de.prob2.jupyter.Command;
 import de.prob2.jupyter.UserErrorException;
 
 import io.github.spencerpark.jupyter.kernel.ReplacementOptions;
diff --git a/src/main/java/de/prob2/jupyter/commands/BsymbCommand.java b/src/main/java/de/prob2/jupyter/commands/BsymbCommand.java
index d51a4f4c968c5df5fcdf2e112c3afdab59bdf01d..07bcee83a6a0343eb84a4175d5795924c1e1939e 100644
--- a/src/main/java/de/prob2/jupyter/commands/BsymbCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/BsymbCommand.java
@@ -2,6 +2,8 @@ package de.prob2.jupyter.commands;
 
 import com.google.inject.Inject;
 
+import de.prob2.jupyter.Command;
+
 import io.github.spencerpark.jupyter.kernel.ReplacementOptions;
 import io.github.spencerpark.jupyter.kernel.display.DisplayData;
 
diff --git a/src/main/java/de/prob2/jupyter/commands/CheckCommand.java b/src/main/java/de/prob2/jupyter/commands/CheckCommand.java
index 38970442b97282da5c54457fc63881bac83bbfd8..7f06044eecab3161f2ab11c2ce816a0f848d79f5 100644
--- a/src/main/java/de/prob2/jupyter/commands/CheckCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/CheckCommand.java
@@ -20,6 +20,8 @@ import de.prob.model.representation.Invariant;
 import de.prob.statespace.AnimationSelector;
 import de.prob.statespace.Trace;
 import de.prob.unicode.UnicodeTranslator;
+import de.prob2.jupyter.Command;
+import de.prob2.jupyter.CommandUtils;
 import de.prob2.jupyter.UserErrorException;
 
 import io.github.spencerpark.jupyter.kernel.ReplacementOptions;
diff --git a/src/main/java/de/prob2/jupyter/commands/ConstantsCommand.java b/src/main/java/de/prob2/jupyter/commands/ConstantsCommand.java
index c541c4e543cf657059019c93dd2d62ac1f4fa1c7..264a3fef76ac7953ccd7a9326c81bc1275d46598 100644
--- a/src/main/java/de/prob2/jupyter/commands/ConstantsCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/ConstantsCommand.java
@@ -10,6 +10,8 @@ import de.prob.animator.domainobjects.FormulaExpand;
 import de.prob.statespace.AnimationSelector;
 import de.prob.statespace.Trace;
 import de.prob.statespace.Transition;
+import de.prob2.jupyter.Command;
+import de.prob2.jupyter.CommandUtils;
 import de.prob2.jupyter.ProBKernel;
 
 import io.github.spencerpark.jupyter.kernel.ReplacementOptions;
diff --git a/src/main/java/de/prob2/jupyter/commands/DotCommand.java b/src/main/java/de/prob2/jupyter/commands/DotCommand.java
index ec00c63712e806c2532a1560c1cf81e1f77de89d..1e10001b57aa64f40916ee43d06dd7976ab357e2 100644
--- a/src/main/java/de/prob2/jupyter/commands/DotCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/DotCommand.java
@@ -19,6 +19,8 @@ import de.prob.animator.domainobjects.FormulaExpand;
 import de.prob.animator.domainobjects.IEvalElement;
 import de.prob.statespace.AnimationSelector;
 import de.prob.statespace.Trace;
+import de.prob2.jupyter.Command;
+import de.prob2.jupyter.CommandUtils;
 import de.prob2.jupyter.ProBKernel;
 import de.prob2.jupyter.UserErrorException;
 
diff --git a/src/main/java/de/prob2/jupyter/commands/EvalCommand.java b/src/main/java/de/prob2/jupyter/commands/EvalCommand.java
index 38267a9f3c7b81a8f5c6340d84a2eb5430a4070b..74c47cf90ab4a5f1331d0341954c811245bae60c 100644
--- a/src/main/java/de/prob2/jupyter/commands/EvalCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/EvalCommand.java
@@ -5,6 +5,8 @@ import com.google.inject.Injector;
 
 import de.prob.animator.domainobjects.FormulaExpand;
 import de.prob.statespace.AnimationSelector;
+import de.prob2.jupyter.Command;
+import de.prob2.jupyter.CommandUtils;
 import de.prob2.jupyter.ProBKernel;
 
 import io.github.spencerpark.jupyter.kernel.ReplacementOptions;
diff --git a/src/main/java/de/prob2/jupyter/commands/ExecCommand.java b/src/main/java/de/prob2/jupyter/commands/ExecCommand.java
index 43e607d1658ffabc7ca977d1ddf2db10e4c143a3..3135e0126b026a497f1cf07aab2f924de1f5f1e3 100644
--- a/src/main/java/de/prob2/jupyter/commands/ExecCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/ExecCommand.java
@@ -11,6 +11,8 @@ import de.prob.animator.domainobjects.FormulaExpand;
 import de.prob.statespace.AnimationSelector;
 import de.prob.statespace.Trace;
 import de.prob.statespace.Transition;
+import de.prob2.jupyter.Command;
+import de.prob2.jupyter.CommandUtils;
 import de.prob2.jupyter.ProBKernel;
 
 import io.github.spencerpark.jupyter.kernel.ReplacementOptions;
diff --git a/src/main/java/de/prob2/jupyter/commands/FindCommand.java b/src/main/java/de/prob2/jupyter/commands/FindCommand.java
index ebf07385be3a57aef6e1a613376145bde213c9d9..0664e959b86ca1b0ed65eb270e1afe877ca033a8 100644
--- a/src/main/java/de/prob2/jupyter/commands/FindCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/FindCommand.java
@@ -7,6 +7,8 @@ import de.prob.animator.domainobjects.FormulaExpand;
 import de.prob.animator.domainobjects.IEvalElement;
 import de.prob.statespace.AnimationSelector;
 import de.prob.statespace.Trace;
+import de.prob2.jupyter.Command;
+import de.prob2.jupyter.CommandUtils;
 import de.prob2.jupyter.ProBKernel;
 
 import io.github.spencerpark.jupyter.kernel.ReplacementOptions;
diff --git a/src/main/java/de/prob2/jupyter/commands/GotoCommand.java b/src/main/java/de/prob2/jupyter/commands/GotoCommand.java
index e02ec183bd36fe705eee25434b30a42e5aac4b6c..14c07f32731c64d8a504fd0567cbcc17a6625fec 100644
--- a/src/main/java/de/prob2/jupyter/commands/GotoCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/GotoCommand.java
@@ -5,6 +5,7 @@ import com.google.inject.Inject;
 import de.prob.statespace.AnimationSelector;
 import de.prob.statespace.Trace;
 
+import de.prob2.jupyter.Command;
 import de.prob2.jupyter.UserErrorException;
 
 import io.github.spencerpark.jupyter.kernel.ReplacementOptions;
diff --git a/src/main/java/de/prob2/jupyter/commands/GroovyCommand.java b/src/main/java/de/prob2/jupyter/commands/GroovyCommand.java
index e8fc3e812ab28ddbbbbfd1b6cc74925bc8b87991..ad1e99df64392316d690070c1d4a7d19f041359c 100644
--- a/src/main/java/de/prob2/jupyter/commands/GroovyCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/GroovyCommand.java
@@ -10,6 +10,7 @@ import com.google.inject.Injector;
 
 import de.prob.scripting.ScriptEngineProvider;
 
+import de.prob2.jupyter.Command;
 import de.prob2.jupyter.ProBKernel;
 
 import io.github.spencerpark.jupyter.kernel.ReplacementOptions;
diff --git a/src/main/java/de/prob2/jupyter/commands/HelpCommand.java b/src/main/java/de/prob2/jupyter/commands/HelpCommand.java
index 1ce3f6e60c0eaf02a7f9efbbd873847946fd1d0d..5203da148a898072b781950311475b589d1d21cf 100644
--- a/src/main/java/de/prob2/jupyter/commands/HelpCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/HelpCommand.java
@@ -12,6 +12,8 @@ import java.util.stream.Collectors;
 import com.google.inject.Inject;
 import com.google.inject.Injector;
 
+import de.prob2.jupyter.Command;
+import de.prob2.jupyter.CommandUtils;
 import de.prob2.jupyter.ProBKernel;
 import de.prob2.jupyter.UserErrorException;
 
diff --git a/src/main/java/de/prob2/jupyter/commands/InitialiseCommand.java b/src/main/java/de/prob2/jupyter/commands/InitialiseCommand.java
index f67f808210634cc2b9a0598a283581a7e8ec11aa..1599a1d3e879061b0a6c9bd7c03328704c0dae56 100644
--- a/src/main/java/de/prob2/jupyter/commands/InitialiseCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/InitialiseCommand.java
@@ -10,6 +10,8 @@ import de.prob.animator.domainobjects.FormulaExpand;
 import de.prob.statespace.AnimationSelector;
 import de.prob.statespace.Trace;
 import de.prob.statespace.Transition;
+import de.prob2.jupyter.Command;
+import de.prob2.jupyter.CommandUtils;
 import de.prob2.jupyter.ProBKernel;
 
 import io.github.spencerpark.jupyter.kernel.ReplacementOptions;
diff --git a/src/main/java/de/prob2/jupyter/commands/LetCommand.java b/src/main/java/de/prob2/jupyter/commands/LetCommand.java
index a8d5eb078f1ae889c8e520e24af4d2721d95475e..92332774df85f93dff0f492c6ac30414bd9266cb 100644
--- a/src/main/java/de/prob2/jupyter/commands/LetCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/LetCommand.java
@@ -9,6 +9,8 @@ import de.prob.animator.domainobjects.AbstractEvalResult;
 import de.prob.animator.domainobjects.EvalResult;
 import de.prob.animator.domainobjects.FormulaExpand;
 import de.prob.statespace.AnimationSelector;
+import de.prob2.jupyter.Command;
+import de.prob2.jupyter.CommandUtils;
 import de.prob2.jupyter.ProBKernel;
 import de.prob2.jupyter.UserErrorException;
 
diff --git a/src/main/java/de/prob2/jupyter/commands/LoadCellCommand.java b/src/main/java/de/prob2/jupyter/commands/LoadCellCommand.java
index 0056fbcf0276d5b54ddc77b4c4b7d5553afa38bb..e08a3c0fb1b5ab19ce67a0dc823b7fa4c16c30c4 100644
--- a/src/main/java/de/prob2/jupyter/commands/LoadCellCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/LoadCellCommand.java
@@ -10,6 +10,8 @@ import com.google.inject.Provider;
 import de.prob.scripting.ClassicalBFactory;
 import de.prob.statespace.AnimationSelector;
 import de.prob.statespace.Trace;
+import de.prob2.jupyter.Command;
+import de.prob2.jupyter.CommandUtils;
 import de.prob2.jupyter.ProBKernel;
 import de.prob2.jupyter.UserErrorException;
 
diff --git a/src/main/java/de/prob2/jupyter/commands/LoadFileCommand.java b/src/main/java/de/prob2/jupyter/commands/LoadFileCommand.java
index 1b4f2c47b02a62b182867c8c99f496b69f0e42f6..5d14a5de3c73f1f22eea81c8ad8e918adbc3af62 100644
--- a/src/main/java/de/prob2/jupyter/commands/LoadFileCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/LoadFileCommand.java
@@ -18,6 +18,8 @@ import de.prob.scripting.ModelFactory;
 import de.prob.scripting.ModelTranslationError;
 import de.prob.statespace.AnimationSelector;
 import de.prob.statespace.Trace;
+import de.prob2.jupyter.Command;
+import de.prob2.jupyter.CommandUtils;
 import de.prob2.jupyter.ProBKernel;
 import de.prob2.jupyter.UserErrorException;
 
diff --git a/src/main/java/de/prob2/jupyter/commands/ModelCheckCommand.java b/src/main/java/de/prob2/jupyter/commands/ModelCheckCommand.java
index e29022de38e93506d9ee46e2d9913adb2960d299..7356c6e89b23894ca5e2110e697ea22df110e3c1 100644
--- a/src/main/java/de/prob2/jupyter/commands/ModelCheckCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/ModelCheckCommand.java
@@ -15,6 +15,7 @@ import de.prob.check.NotYetFinished;
 import de.prob.check.StateSpaceStats;
 import de.prob.statespace.AnimationSelector;
 import de.prob.statespace.StateSpace;
+import de.prob2.jupyter.Command;
 import de.prob2.jupyter.ProBKernel;
 import de.prob2.jupyter.UserErrorException;
 
diff --git a/src/main/java/de/prob2/jupyter/commands/PrefCommand.java b/src/main/java/de/prob2/jupyter/commands/PrefCommand.java
index 3672b8ba1298a72e2754842c19dae717c054e4af..2be853717d8dc08dba01c75ae01808b7950103f1 100644
--- a/src/main/java/de/prob2/jupyter/commands/PrefCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/PrefCommand.java
@@ -12,6 +12,8 @@ import de.prob.animator.command.GetPreferenceCommand;
 import de.prob.animator.command.SetPreferenceCommand;
 import de.prob.statespace.AnimationSelector;
 
+import de.prob2.jupyter.Command;
+import de.prob2.jupyter.CommandUtils;
 import de.prob2.jupyter.UserErrorException;
 
 import io.github.spencerpark.jupyter.kernel.ReplacementOptions;
diff --git a/src/main/java/de/prob2/jupyter/commands/PrettyPrintCommand.java b/src/main/java/de/prob2/jupyter/commands/PrettyPrintCommand.java
index 9df978386846da3d82dd289d5fc030c1cdabca50..fc0a2a257efd4dbeb44dedc5e68f3cc19f76fb58 100644
--- a/src/main/java/de/prob2/jupyter/commands/PrettyPrintCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/PrettyPrintCommand.java
@@ -6,6 +6,8 @@ import de.prob.animator.command.PrettyPrintFormulaCommand;
 import de.prob.animator.domainobjects.FormulaExpand;
 import de.prob.animator.domainobjects.IEvalElement;
 import de.prob.statespace.AnimationSelector;
+import de.prob2.jupyter.Command;
+import de.prob2.jupyter.CommandUtils;
 
 import io.github.spencerpark.jupyter.kernel.ReplacementOptions;
 import io.github.spencerpark.jupyter.kernel.display.DisplayData;
diff --git a/src/main/java/de/prob2/jupyter/commands/RenderCommand.java b/src/main/java/de/prob2/jupyter/commands/RenderCommand.java
index 3b46ff320c582aa92fa3015bb5cc3bb9fcdb6b8c..51d77d6961275e27156b94e882768f7d595fe4c3 100644
--- a/src/main/java/de/prob2/jupyter/commands/RenderCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/RenderCommand.java
@@ -2,6 +2,7 @@ package de.prob2.jupyter.commands;
 
 import com.google.inject.Inject;
 
+import de.prob2.jupyter.Command;
 import de.prob2.jupyter.UserErrorException;
 
 import io.github.spencerpark.jupyter.kernel.ReplacementOptions;
diff --git a/src/main/java/de/prob2/jupyter/commands/ShowCommand.java b/src/main/java/de/prob2/jupyter/commands/ShowCommand.java
index 0c8a2e6ac1d455d36e2a177a611da8851d2e48fd..592ba3786150c106aa64b1181dee92e9294b3ec9 100644
--- a/src/main/java/de/prob2/jupyter/commands/ShowCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/ShowCommand.java
@@ -15,6 +15,7 @@ import de.prob.animator.command.GetPreferenceCommand;
 import de.prob.animator.domainobjects.AnimationMatrixEntry;
 import de.prob.statespace.AnimationSelector;
 import de.prob.statespace.Trace;
+import de.prob2.jupyter.Command;
 import de.prob2.jupyter.ProBKernel;
 import de.prob2.jupyter.UserErrorException;
 
diff --git a/src/main/java/de/prob2/jupyter/commands/SolveCommand.java b/src/main/java/de/prob2/jupyter/commands/SolveCommand.java
index 31f2d10e696e3086acdf5de43157a04492b35a75..f89ee34f5378666a3bd62731b3c299a16b28deba 100644
--- a/src/main/java/de/prob2/jupyter/commands/SolveCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/SolveCommand.java
@@ -14,6 +14,8 @@ import de.prob.animator.domainobjects.IEvalElement;
 import de.prob.statespace.AnimationSelector;
 import de.prob.statespace.Trace;
 
+import de.prob2.jupyter.Command;
+import de.prob2.jupyter.CommandUtils;
 import de.prob2.jupyter.ProBKernel;
 import de.prob2.jupyter.UserErrorException;
 
diff --git a/src/main/java/de/prob2/jupyter/commands/StatsCommand.java b/src/main/java/de/prob2/jupyter/commands/StatsCommand.java
index c26f7c13fe923d3885402f75c2d1acb3adb36eac..212fd82609d86c3a6028b13c44935eb62e378e55 100644
--- a/src/main/java/de/prob2/jupyter/commands/StatsCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/StatsCommand.java
@@ -6,6 +6,7 @@ import de.prob.animator.command.ComputeStateSpaceStatsCommand;
 import de.prob.check.StateSpaceStats;
 import de.prob.statespace.AnimationSelector;
 
+import de.prob2.jupyter.Command;
 import de.prob2.jupyter.UserErrorException;
 
 import io.github.spencerpark.jupyter.kernel.ReplacementOptions;
diff --git a/src/main/java/de/prob2/jupyter/commands/TableCommand.java b/src/main/java/de/prob2/jupyter/commands/TableCommand.java
index fca1b6f1de0458c5f4b27d08736357dc9869d7f1..9a4e3a8800a8066ae469baca0f8b63ab75603db3 100644
--- a/src/main/java/de/prob2/jupyter/commands/TableCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/TableCommand.java
@@ -16,6 +16,8 @@ import de.prob.animator.domainobjects.TableData;
 import de.prob.statespace.AnimationSelector;
 import de.prob.statespace.Trace;
 import de.prob.unicode.UnicodeTranslator;
+import de.prob2.jupyter.Command;
+import de.prob2.jupyter.CommandUtils;
 import de.prob2.jupyter.ProBKernel;
 
 import io.github.spencerpark.jupyter.kernel.ReplacementOptions;
diff --git a/src/main/java/de/prob2/jupyter/commands/TimeCommand.java b/src/main/java/de/prob2/jupyter/commands/TimeCommand.java
index ee46d95d99a467271383c08ac4329363bd6adfdc..ac426637127262327d04e4882a3b2a72bb0f7deb 100644
--- a/src/main/java/de/prob2/jupyter/commands/TimeCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/TimeCommand.java
@@ -7,6 +7,7 @@ import com.google.common.base.Stopwatch;
 import com.google.inject.Inject;
 import com.google.inject.Injector;
 
+import de.prob2.jupyter.Command;
 import de.prob2.jupyter.ProBKernel;
 
 import io.github.spencerpark.jupyter.kernel.ReplacementOptions;
diff --git a/src/main/java/de/prob2/jupyter/commands/TraceCommand.java b/src/main/java/de/prob2/jupyter/commands/TraceCommand.java
index c3f97bc3fb0bbed2fa7efd955d87e2fc6ebedae5..2cb417c9031cbcb72b52f06d7b6990d18d4307d2 100644
--- a/src/main/java/de/prob2/jupyter/commands/TraceCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/TraceCommand.java
@@ -8,6 +8,7 @@ import de.prob.statespace.AnimationSelector;
 import de.prob.statespace.Trace;
 import de.prob.statespace.Transition;
 
+import de.prob2.jupyter.Command;
 import de.prob2.jupyter.UserErrorException;
 
 import io.github.spencerpark.jupyter.kernel.ReplacementOptions;
diff --git a/src/main/java/de/prob2/jupyter/commands/TypeCommand.java b/src/main/java/de/prob2/jupyter/commands/TypeCommand.java
index f1030356b7174b7d6a81b3e5a0c89b9022852dd2..8c900cffebe4285d854c3783a9e7d315856ac213 100644
--- a/src/main/java/de/prob2/jupyter/commands/TypeCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/TypeCommand.java
@@ -9,6 +9,8 @@ import de.prob.animator.domainobjects.TypeCheckResult;
 import de.prob.exception.ProBError;
 import de.prob.statespace.AnimationSelector;
 import de.prob.statespace.Trace;
+import de.prob2.jupyter.Command;
+import de.prob2.jupyter.CommandUtils;
 import de.prob2.jupyter.ProBKernel;
 
 import io.github.spencerpark.jupyter.kernel.ReplacementOptions;
diff --git a/src/main/java/de/prob2/jupyter/commands/UnletCommand.java b/src/main/java/de/prob2/jupyter/commands/UnletCommand.java
index 3c90e9f1c67267653528af31e34a461b59cf4d19..b2f7f1e37976d890cea1ac7bd6a9828c3950edb2 100644
--- a/src/main/java/de/prob2/jupyter/commands/UnletCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/UnletCommand.java
@@ -5,6 +5,7 @@ import java.util.Map;
 import com.google.inject.Inject;
 import com.google.inject.Injector;
 
+import de.prob2.jupyter.Command;
 import de.prob2.jupyter.ProBKernel;
 import de.prob2.jupyter.UserErrorException;
 
diff --git a/src/main/java/de/prob2/jupyter/commands/VersionCommand.java b/src/main/java/de/prob2/jupyter/commands/VersionCommand.java
index b68b59b496b61296f16f9a884fc6ca04b59b6104..c22c7f04d149e6d0b65dc868380080818ccb9cfc 100644
--- a/src/main/java/de/prob2/jupyter/commands/VersionCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/VersionCommand.java
@@ -5,6 +5,7 @@ import com.google.inject.Inject;
 import de.prob.Main;
 import de.prob.animator.command.GetVersionCommand;
 import de.prob.statespace.AnimationSelector;
+import de.prob2.jupyter.Command;
 import de.prob2.jupyter.ProBKernel;
 
 import io.github.spencerpark.jupyter.kernel.ReplacementOptions;