diff --git a/de.prob.symbolic/src/de/prob/symbolic/SymbolicAttribute.java b/de.prob.symbolic/src/de/prob/symbolic/SymbolicAttribute.java
index 5fbae3c61050575a8854ba9418f5ea252ca0c710..6493d4cee60484aaf425a6f976dae790dfa12486 100644
--- a/de.prob.symbolic/src/de/prob/symbolic/SymbolicAttribute.java
+++ b/de.prob.symbolic/src/de/prob/symbolic/SymbolicAttribute.java
@@ -9,18 +9,23 @@ package de.prob.symbolic;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eventb.core.IVariable;
 import org.eventb.core.basis.Constant;
-import org.eventb.ui.manipulation.IAttributeManipulation;
+import org.eventb.internal.ui.eventbeditor.manipulation.AbstractBooleanManipulation;
 import org.rodinp.core.IAttributeType;
 import org.rodinp.core.IInternalElement;
 import org.rodinp.core.IRodinElement;
 import org.rodinp.core.RodinCore;
 import org.rodinp.core.RodinDBException;
 
-public class SymbolicAttribute implements IAttributeManipulation {
+@SuppressWarnings("restriction")
+public class SymbolicAttribute extends AbstractBooleanManipulation {
 	private static final String SYMBOLIC = "symbolic";
 	private static final String CONCRETE = "not symbolic";
 	public static IAttributeType.Boolean ATTRIBUTE = RodinCore
 			.getBooleanAttrType(Activator.PLUGIN_ID + ".symbolicAttribute");
+	
+	public SymbolicAttribute() {
+		super(SYMBOLIC, CONCRETE);
+	}
 
 	private IInternalElement asInternalElement(IRodinElement element) {
 		if (element instanceof IVariable) {
@@ -70,10 +75,4 @@ public class SymbolicAttribute implements IAttributeManipulation {
 		asInternalElement(element).setAttributeValue(ATTRIBUTE, isSymbolic,
 				monitor);
 	}
-
-	@Override
-	public String[] getPossibleValues(IRodinElement element,
-			IProgressMonitor monitor) {
-		return new String[] { SYMBOLIC, CONCRETE };
-	}
 }