diff --git a/de.prob.core/src/de/prob/core/command/ConstructTraceCommand.java b/de.prob.core/src/de/prob/core/command/ConstructTraceCommand.java
deleted file mode 100644
index 53e3aa38a02ceb6fc67a15cedd1d620e1ed18b87..0000000000000000000000000000000000000000
--- a/de.prob.core/src/de/prob/core/command/ConstructTraceCommand.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/**
- * (c) 2009 Lehrstuhl fuer Softwaretechnik und Programmiersprachen, Heinrich
- * Heine Universitaet Duesseldorf This software is licenced under EPL 1.0
- * (http://www.eclipse.org/org/documents/epl-v10.html)
- * */
-
-package de.prob.core.command;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-
-import de.be4.classicalb.core.parser.analysis.prolog.ASTProlog;
-import de.be4.classicalb.core.parser.exceptions.BCompoundException;
-import de.prob.core.Animator;
-import de.prob.core.domainobjects.Operation;
-import de.prob.core.domainobjects.State;
-import de.prob.core.domainobjects.StateError;
-import de.prob.core.domainobjects.Variable;
-import de.prob.core.domainobjects.eval.PredicateEvalElement;
-import de.prob.core.internal.Activator;
-import de.prob.exceptions.ProBException;
-import de.prob.parser.ISimplifiedROMap;
-import de.prob.prolog.output.IPrologTermOutput;
-import de.prob.prolog.term.CompoundPrologTerm;
-import de.prob.prolog.term.ListPrologTerm;
-import de.prob.prolog.term.PrologTerm;
-
-/**
- * Command to execute an event that has not been enumerated by ProB.
- * 
- * @author Jens Bendisposto
- * 
- */
-public final class ConstructTraceCommand implements IComposableCommand {
-
-	private static final String RESULT_VARIABLE_STATES = "States";
-	private static final String RESULT_VARIABLE_OPS = "Ops";
-	private static final String RESULT_VARIABLE_ERRORS = "Errors";
-
-	private final List<PredicateEvalElement> evalElement;
-	private final List<String> name;
-	private final List<String> errors = new ArrayList<String>();
-	private List<Integer> executionNumber = new ArrayList<Integer>();
-
-	public ConstructTraceCommand(final List<String> name,
-			final List<String> predicates, Integer executionNumber) {
-		this.name = name;
-		this.evalElement = new ArrayList<PredicateEvalElement>();
-		for (String string : predicates) {
-			try {
-				evalElement.add(PredicateEvalElement.create(string));
-			} catch (BCompoundException e) {
-				throw new IllegalArgumentException(
-						"Formula must be a predicate: " + string);
-			}
-		}
-		if (name.size() != evalElement.size()) {
-			throw new IllegalArgumentException(
-					"Must provide the same number of names and predicates.");
-		}
-		int size = this.name.size();
-		for (int i = 0; i < size; ++i) {
-			this.executionNumber.add(executionNumber);
-		}
-	}
-
-	public ConstructTraceCommand(final List<String> name,
-			final List<String> predicate) {
-		this(name, predicate, 1);
-	}
-
-	public ConstructTraceCommand(final List<String> name,
-			final List<String> predicate, final List<Integer> executionNumber) {
-		this(name, predicate);
-		this.executionNumber = executionNumber;
-		if (name.size() != executionNumber.size()) {
-			throw new IllegalArgumentException(
-					"Must provide the same number of names and execution numbers.");
-		}
-	}
-
-	/**
-	 * This method is called when the command is prepared for sending. The
-	 * method is called by the Animator class, most likely it is not interesting
-	 * for other classes.
-	 * 
-	 * @throws ProBException
-	 * 
-	 * @see de.prob.animator.command.AbstractCommand#writeCommand(de.prob.prolog.output.IPrologTermOutput)
-	 */
-	@Override
-	public void writeCommand(final IPrologTermOutput pto) {
-		pto.openTerm("prob_construct_trace");
-		pto.openList();
-		for (String n : name) {
-			pto.printAtom(n);
-		}
-		pto.closeList();
-		final ASTProlog prolog = new ASTProlog(pto, null);
-		pto.openList();
-		for (PredicateEvalElement cb : evalElement) {
-			cb.getPrologAst().apply(prolog);
-		}
-		pto.closeList();
-		pto.openList();
-		for (Integer n : executionNumber) {
-			pto.printNumber(n);
-		}
-		pto.closeList();
-		pto.printVariable(RESULT_VARIABLE_STATES);
-		pto.printVariable(RESULT_VARIABLE_OPS);
-		pto.printVariable(RESULT_VARIABLE_ERRORS);
-		pto.closeTerm();
-	}
-
-	public boolean hasErrors() {
-		return !errors.isEmpty();
-	}
-
-	public List<String> getErrors() {
-		return errors;
-	}
-
-	@Override
-	public void processResult(
-			final ISimplifiedROMap<String, PrologTerm> bindings)
-			throws CommandException {
-		// errors
-		ListPrologTerm list = (ListPrologTerm) bindings
-				.get(RESULT_VARIABLE_ERRORS);
-		for (PrologTerm prologTerm : list) {
-			errors.add(prologTerm.toString());
-		}
-
-		// Change history in Animator ...
-		// need to reconstruct operations and states
-		final Animator animator = Animator.getAnimator();
-
-		ListPrologTerm operations = (ListPrologTerm) bindings
-				.get(RESULT_VARIABLE_OPS);
-		ListPrologTerm states = (ListPrologTerm) bindings
-				.get(RESULT_VARIABLE_STATES);
-
-		for (int i = 0; i < operations.size(); i++) {
-			PrologTerm operationPrologTerm = operations.get(i);
-			Operation op = Operation.fromPrologTerm(operationPrologTerm);
-
-			// state(NewStateId,StateValues,Initialised,InvKO,MaxOpsReached,Timeout,OpTimeout,StateErrors,UnsatProps,OperationsForState)
-			CompoundPrologTerm statePrologTerm = (CompoundPrologTerm) states
-					.get(i);
-
-			ListPrologTerm stateValuesPrologTerm = (ListPrologTerm) statePrologTerm
-					.getArgument(2);
-			List<Variable> stateValues = new LinkedList<Variable>();
-			for (PrologTerm prologTerm : stateValuesPrologTerm) {
-				stateValues.add(new Variable((CompoundPrologTerm) prologTerm));
-			}
-
-			ListPrologTerm stateErrorsPrologTerm = (ListPrologTerm) statePrologTerm
-					.getArgument(8);
-			Collection<StateError> stateErrors = new LinkedList<StateError>();
-			for (PrologTerm prologTerm : stateErrorsPrologTerm) {
-				stateErrors
-						.add(new StateError((CompoundPrologTerm) prologTerm));
-			}
-
-			Set<String> opTimeouts = new HashSet<String>(
-					PrologTerm.atomicStrings((ListPrologTerm) statePrologTerm
-							.getArgument(7)));
-
-			ArrayList<Operation> enabledOperations = new ArrayList<Operation>();
-
-			for (PrologTerm enop : (ListPrologTerm) statePrologTerm
-					.getArgument(10)) {
-				final CompoundPrologTerm cpt = (CompoundPrologTerm) enop;
-				enabledOperations.add(Operation.fromPrologTerm(cpt));
-			}
-
-			State s = new State(statePrologTerm.getArgument(1).toString(),
-					statePrologTerm.getArgument(2).toString().equals("true"),
-					statePrologTerm.getArgument(3).toString().equals("true"),
-					statePrologTerm.getArgument(5).toString().equals("true"),
-					statePrologTerm.getArgument(4).toString().equals("true"),
-					stateValues, enabledOperations, stateErrors, opTimeouts);
-
-			Activator.computedState(s);
-			animator.getHistory().add(s, op);
-			animator.announceCurrentStateChanged(s, op);
-		}
-
-	}
-}
diff --git a/de.prob.core/src/de/prob/core/command/DeserializeStateCommand.java b/de.prob.core/src/de/prob/core/command/DeserializeStateCommand.java
deleted file mode 100644
index 6ff95063b24f92b38f263dd9ce7859a7cf534354..0000000000000000000000000000000000000000
--- a/de.prob.core/src/de/prob/core/command/DeserializeStateCommand.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package de.prob.core.command;
-
-import de.prob.core.Animator;
-import de.prob.exceptions.ProBException;
-import de.prob.parser.ISimplifiedROMap;
-import de.prob.prolog.output.IPrologTermOutput;
-import de.prob.prolog.term.PrologTerm;
-
-public class DeserializeStateCommand implements IComposableCommand {
-
-    private String id;
-    private final String state;
-
-    public DeserializeStateCommand(String state) {
-        this.state = state;
-    }
-
-    public static String deserialize(Animator a, String state) throws ProBException {
-        DeserializeStateCommand c = new DeserializeStateCommand(state);
-        a.execute(c);
-        return c.id;
-    }
-
-    @Override
-    public void processResult(ISimplifiedROMap<String, PrologTerm> bindings)
-            throws CommandException {
-        this.id = bindings.get("Id").toString();
-    }
-
-    @Override
-    public void writeCommand(IPrologTermOutput pto) {
-        pto.openTerm("deserialize").printVariable("Id").printAtom(state).closeTerm();
-    }
-
-    public String getId() {
-        return id;
-    }
-
-    public String getState() {
-        return state;
-    }
-
-}
diff --git a/de.prob.core/src/de/prob/core/command/GetPrintableAtomsList.java b/de.prob.core/src/de/prob/core/command/GetPrintableAtomsList.java
deleted file mode 100644
index 947af6c217e86862f19a347304e0f3092d26674d..0000000000000000000000000000000000000000
--- a/de.prob.core/src/de/prob/core/command/GetPrintableAtomsList.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package de.prob.core.command;
-
-import java.util.List;
-
-import de.prob.core.Animator;
-import de.prob.exceptions.ProBException;
-import de.prob.parser.ISimplifiedROMap;
-import de.prob.prolog.output.IPrologTermOutput;
-import de.prob.prolog.term.ListPrologTerm;
-import de.prob.prolog.term.PrologTerm;
-
-/**
- * @author Jens Bendisposto
- * 
- */
-public class GetPrintableAtomsList implements IComposableCommand {
-
-	private static final String PROLOG_VARIABLE = "L";
-	private final String prologPredicate;
-	private List<String> list;
-
-	/**
-	 * Executes the query: prologPredicate(L). Expects L to be a list of
-	 * printable atoms
-	 * 
-	 * @param animator
-	 * @param prologPredicate
-	 * @return
-	 * @throws ProBException
-	 */
-
-	public static List<String> getList(final Animator animator,
-			final String prologPredicate) throws ProBException {
-		GetPrintableAtomsList cmd = new GetPrintableAtomsList(prologPredicate);
-		animator.execute(cmd);
-		return cmd.getList();
-	}
-
-	private List<String> getList() {
-		return list;
-	}
-
-	private GetPrintableAtomsList(final String prologPredicate) {
-		this.prologPredicate = prologPredicate;
-	}
-
-	public void processResult(
-			final ISimplifiedROMap<String, PrologTerm> bindings)
-			throws CommandException {
-		list = PrologTerm.atomicStrings((ListPrologTerm) bindings
-				.get(PROLOG_VARIABLE));
-	}
-
-	public void writeCommand(final IPrologTermOutput pto) {
-		pto.openTerm(prologPredicate);
-		pto.printVariable(PROLOG_VARIABLE);
-		pto.closeTerm();
-	}
-
-}
diff --git a/de.prob.core/src/de/prob/core/command/SerializeStateCommand.java b/de.prob.core/src/de/prob/core/command/SerializeStateCommand.java
deleted file mode 100644
index 7d28161cc2bdbf046f6c74929fabc694c0cb9472..0000000000000000000000000000000000000000
--- a/de.prob.core/src/de/prob/core/command/SerializeStateCommand.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package de.prob.core.command;
-
-import de.prob.core.Animator;
-import de.prob.exceptions.ProBException;
-import de.prob.parser.ISimplifiedROMap;
-import de.prob.prolog.output.IPrologTermOutput;
-import de.prob.prolog.term.PrologTerm;
-
-public class SerializeStateCommand implements IComposableCommand {
-
-    private final String id;
-    private String state;
-
-    public SerializeStateCommand(String id) {
-        this.id = id;
-    }
-
-    public static String serialize(Animator a, String stateID) throws ProBException {
-        SerializeStateCommand c = new SerializeStateCommand(stateID);
-        a.execute(c);
-        return c.state;
-    }
-
-    @Override
-    public void processResult(ISimplifiedROMap<String, PrologTerm> bindings)
-            throws CommandException {
-         state = PrologTerm.atomicString(bindings.get("State"));
-    }
-
-    @Override
-    public void writeCommand(IPrologTermOutput pto) {
-        pto.openTerm("serialize").printAtomOrNumber(id).printVariable("State").closeTerm();
-    }
-
-    public String getId() {
-        return id;
-    }
-
-    public String getState() {
-        return state;
-    }
-
-}