diff --git a/de.uniwue.mk.athen/bundles/de.ids.tt.athen.rwview/src/de/ids/tt/athen/rwview/part/RedeWiedergabeView.java b/de.uniwue.mk.athen/bundles/de.ids.tt.athen.rwview/src/de/ids/tt/athen/rwview/part/RedeWiedergabeView.java
index 71a8d5cb55dc70f54565f7eb2ef0503a0475af59..478512a9c70798ee29ff6840b6759bf99d8804c6 100644
--- a/de.uniwue.mk.athen/bundles/de.ids.tt.athen.rwview/src/de/ids/tt/athen/rwview/part/RedeWiedergabeView.java
+++ b/de.uniwue.mk.athen/bundles/de.ids.tt.athen.rwview/src/de/ids/tt/athen/rwview/part/RedeWiedergabeView.java
@@ -22,6 +22,7 @@ import org.eclipse.e4.core.services.events.IEventBroker;
 import org.eclipse.e4.ui.di.Focus;
 import org.eclipse.e4.ui.model.application.ui.basic.MPart;
 import org.eclipse.jface.dialogs.InputDialog;
+import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jface.window.Window;
@@ -282,6 +283,47 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
 	Shell rwMetadataShell = new Shell();
 	RwMetadataDialog rwMetadataDialog = new RwMetadataDialog(rwMetadataShell);
 
+	//frameIDDialog
+	Shell frameIDShell = new Shell();
+	
+	//frameDialog
+	Shell frameShell = new Shell();
+	
+	//speakerDialog
+	Shell speakerShell = new Shell();
+	
+	//intExprDialog
+	Shell intExprShell = new Shell();
+	
+	//speakerOutsideFrame
+	Shell speakerOutsideFrameShell = new Shell();
+	
+	//speakerOutsideFrame
+	Shell speakerOutsideStwrShell = new Shell();
+	
+	//speech
+	Shell speechShell = new Shell();
+	Shell speechPunctShell = new Shell();
+	
+	//thought
+	Shell thoughtShell = new Shell();
+	Shell thoughtPunctShell = new Shell();
+	
+	//writing
+	Shell writingShell = new Shell();
+	Shell writingPunctShell = new Shell();
+	
+	//rTypeAmbig
+	Shell rTypeAmbigShell = new Shell();
+	
+	//mediumAmbig
+	Shell mediumAmbigShell = new Shell();
+	Shell mediumPunctAmbigShell = new Shell();
+	
+	//metadata
+	Shell metadataDefinedShell = new Shell ();
+	Shell metadataIncompleteShell = new Shell ();
+	
 	// flags for the medium buttons
 	private boolean speechFlag;
 	private boolean thoughtFlag;
@@ -859,8 +901,10 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
 		
 		for (AnnotationFS frame : editor.getCas().getAnnotationIndex(frameType)){
 			if (frame.getFeatureValueAsString(frameIDFeat).equals("")){
-				JFrame jFrame = new JFrame("Information");
-				JOptionPane.showMessageDialog(jFrame, "ID is missing for frame with start = " + " "  + frame.getBegin() + ".", "Attention", JOptionPane.WARNING_MESSAGE);	
+				MessageDialog.openWarning(frameIDShell, "Warning", "ID is missing for frame with start = " + " "  + frame.getBegin() + ".");
+				//frameIDShell.close();
+				//JFrame jFrame = new JFrame("Information");
+				//JOptionPane.showMessageDialog(jFrame, "ID is missing for frame with start = " + " "  + frame.getBegin() + ".", "Attention", JOptionPane.WARNING_MESSAGE);	
 				frameIdFlag = true;
 				renewPage();
 			}
@@ -892,8 +936,10 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
 				int position = anno.getEnd();
 				if ((editor.getCas().getDocumentText().charAt(position) == '.') || (editor.getCas().getDocumentText().charAt(position) == '?') || (editor.getCas().getDocumentText().charAt(position) == '!'))
 				{
-					JFrame frame = new JFrame("Information");
-					JOptionPane.showMessageDialog(frame, "Please do not forget to mark the punctuation character.", "Attention", JOptionPane.WARNING_MESSAGE);	
+					MessageDialog.openWarning(frameShell, "Warning", "Please do not forget to mark the punctuation character.");
+					//frameShell.close();
+					//JFrame frame = new JFrame("Information");
+					//JOptionPane.showMessageDialog(frame, "Please do not forget to mark the punctuation character.", "Attention", JOptionPane.WARNING_MESSAGE);	
 				} else {
 					editor.addAnnotation(anno);
 				}
@@ -913,8 +959,10 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
 	boolean speakerIDFlag = false;
 		for (AnnotationFS speaker : speakerList){
 			if (speaker.getFeatureValueAsString(speakerIDFeat) == null){
-				JFrame jFrame = new JFrame("Information");
-				JOptionPane.showMessageDialog(jFrame, "Please assign an ID to the speaker " + "\"" + speaker.getFeatureValueAsString(speakerFeat) + "\"" + ".", "Attention", JOptionPane.WARNING_MESSAGE);
+				MessageDialog.openWarning(speakerShell, "Warning",  "Please assign an ID to the speaker " + "\"" + speaker.getFeatureValueAsString(speakerFeat) + "\"" + ".");
+				//speakerShell.close();
+				//JFrame jFrame = new JFrame("Information");
+				//JOptionPane.showMessageDialog(jFrame, "Please assign an ID to the speaker " + "\"" + speaker.getFeatureValueAsString(speakerFeat) + "\"" + ".", "Attention", JOptionPane.WARNING_MESSAGE);
 				speakerIDFlag = true;
 			}	
 		}
@@ -1013,8 +1061,10 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
 				|| anno.getFeatureValueAsString(speakerIDFeat).matches(selected.getFeatureValueAsString(frameIDFeat) + " " + ".*" )
 				|| anno.getFeatureValueAsString(speakerIDFeat).matches(".*" + " " + selected.getFeatureValueAsString(frameIDFeat))
 				|| anno.getFeatureValueAsString(speakerIDFeat).matches(selected.getFeatureValueAsString(frameIDFeat))){
-				JFrame jFrame = new JFrame("Information");
-				JOptionPane.showMessageDialog(jFrame, "The speaker already has the ID " + selected.getFeatureValueAsString(frameIDFeat) + ".", "Attention", JOptionPane.WARNING_MESSAGE);
+				MessageDialog.openWarning(speakerOutsideFrameShell, "Warning", "The speaker already has the ID " + selected.getFeatureValueAsString(frameIDFeat) + ".");
+				//speakerOutsideFrameShell.close();
+				//JFrame jFrame = new JFrame("Information");
+				//JOptionPane.showMessageDialog(jFrame, "The speaker already has the ID " + selected.getFeatureValueAsString(frameIDFeat) + ".", "Attention", JOptionPane.WARNING_MESSAGE);
 			}else {
 				concatenatedId = anno.getFeatureValueAsString(speakerIDFeat) + " " + selected.getFeatureValueAsString(frameIDFeat);
 				updateAnnotation(anno, speakerIDFeat, concatenatedId, true);		
@@ -1038,8 +1088,10 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
 					|| anno.getFeatureValueAsString(speakerIDFeat).matches(selected.getFeatureValueAsString(stwrIDFeat) + " " + ".*" )
 					|| anno.getFeatureValueAsString(speakerIDFeat).matches(".*" + " " + selected.getFeatureValueAsString(stwrIDFeat))
 					|| anno.getFeatureValueAsString(speakerIDFeat).matches(selected.getFeatureValueAsString(stwrIDFeat))){
-					JFrame jFrame = new JFrame("Information");
-					JOptionPane.showMessageDialog(jFrame, "The speaker already has the ID " + selected.getFeatureValueAsString(stwrIDFeat) + ".", "Attention", JOptionPane.WARNING_MESSAGE);
+				MessageDialog.openWarning(speakerOutsideStwrShell, "Warning", "The speaker already has the ID " + selected.getFeatureValueAsString(stwrIDFeat) + ".");
+				//speakerOutsideStwrShell.close();
+					//JFrame jFrame = new JFrame("Information");
+					//JOptionPane.showMessageDialog(jFrame, "The speaker already has the ID " + selected.getFeatureValueAsString(stwrIDFeat) + ".", "Attention", JOptionPane.WARNING_MESSAGE);
 			}else {
 				concatenatedId = anno.getFeatureValueAsString(speakerIDFeat) +  " " + selected.getFeatureValueAsString(stwrIDFeat);
 				updateAnnotation(anno, speakerIDFeat, concatenatedId, true);
@@ -1110,8 +1162,10 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
 			}	
 			if (repCounter == repAnnoList.size() && frameCounter == frameList.size())
 			{
-				JFrame jFrame = new JFrame("Information");
-				JOptionPane.showMessageDialog(jFrame, "Please mark a string in a frame or in a reported STWR.", "Attention", JOptionPane.WARNING_MESSAGE);
+				MessageDialog.openWarning(intExprShell, "Warning", "Please mark a string in a frame or in a reported STWR.");
+				//intExprShell.close();
+				//JFrame jFrame = new JFrame("Information");
+				//JOptionPane.showMessageDialog(jFrame, "Please mark a string in a frame or in a reported STWR.", "Attention", JOptionPane.WARNING_MESSAGE);
 			}
 		}
 		renewPage();
@@ -1138,8 +1192,11 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
 		if (dirFlag == false && indFlag == false && freeIndFlag == false && repFlag == false &&
 		ambigRTypeDialog.dirFlag == false && ambigRTypeDialog.indirFlag == false && ambigRTypeDialog.freeIndFlag == false && ambigRTypeDialog.repFlag == false)
 		{
-			JFrame frame = new JFrame("Information");
-			JOptionPane.showMessageDialog(frame, "Please choose a type first.", "Attention", JOptionPane.WARNING_MESSAGE);
+			MessageDialog.openWarning(speechShell, "Warning", "Please choose a type first.");
+			//speechShell.close();
+			//JFrame frame = new JFrame("Information");
+			//JOptionPane.showMessageDialog(frame, "Please choose a type first.", "Attention", JOptionPane.WARNING_MESSAGE);
+
 		} 
 		else
 		{
@@ -1149,8 +1206,10 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
 				int position = stwrAnno.getEnd();
 				if ((editor.getCas().getDocumentText().charAt(position) == '.') || (editor.getCas().getDocumentText().charAt(position) == '?') || (editor.getCas().getDocumentText().charAt(position) == '!'))
 				{
-					JFrame frame = new JFrame("Information");
-					JOptionPane.showMessageDialog(frame, "Please do not forget to mark the punctuation character.", "Attention", JOptionPane.WARNING_MESSAGE);	
+					MessageDialog.openWarning(speechPunctShell, "Warning", "Please do not forget to mark the punctuation character.");
+					//speechPunctShell.close();
+					//JFrame frame = new JFrame("Information");
+					//JOptionPane.showMessageDialog(frame, "Please do not forget to mark the punctuation character.", "Attention", JOptionPane.WARNING_MESSAGE);	
 				} else {
 					editor.addAnnotation(stwrAnno);
 				}
@@ -1176,8 +1235,10 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
 		if (dirFlag == false && indFlag == false && freeIndFlag == false && repFlag == false &&
 		ambigRTypeDialog.dirFlag == false && ambigRTypeDialog.indirFlag == false && ambigRTypeDialog.freeIndFlag == false && ambigRTypeDialog.repFlag == false)
 		{
-			JFrame frame = new JFrame("Information");
-			JOptionPane.showMessageDialog(frame, "Please choose a type first.", "Attention", JOptionPane.WARNING_MESSAGE);
+			MessageDialog.openWarning(thoughtShell, "Warning", "Please choose a type first.");
+			//thoughtShell.close();
+			//JFrame frame = new JFrame("Information");
+			//JOptionPane.showMessageDialog(frame, "Please choose a type first.", "Attention", JOptionPane.WARNING_MESSAGE);
 		} 
 		else
 		{
@@ -1187,8 +1248,10 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
 				int position = stwrAnno.getEnd();
 				if ((editor.getCas().getDocumentText().charAt(position) == '.') || (editor.getCas().getDocumentText().charAt(position) == '?') || (editor.getCas().getDocumentText().charAt(position) == '!'))
 				{
-					JFrame frame = new JFrame("Information");
-					JOptionPane.showMessageDialog(frame, "Please do not forget to mark the punctuation character.", "Attention", JOptionPane.WARNING_MESSAGE);	
+					MessageDialog.openWarning(thoughtPunctShell, "Warning", "Please do not forget to mark the punctuation character.");
+					//thoughtPunctShell.close();
+					//JFrame frame = new JFrame("Information");
+					//JOptionPane.showMessageDialog(frame, "Please do not forget to mark the punctuation character.", "Attention", JOptionPane.WARNING_MESSAGE);	
 				} else {
 					editor.addAnnotation(stwrAnno);
 				}
@@ -1214,8 +1277,10 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
 		if (dirFlag == false && indFlag == false && freeIndFlag == false && repFlag == false &&
 		ambigRTypeDialog.dirFlag == false && ambigRTypeDialog.indirFlag == false && ambigRTypeDialog.freeIndFlag == false && ambigRTypeDialog.repFlag == false)
 		{
-			JFrame frame = new JFrame("Information");
-			JOptionPane.showMessageDialog(frame, "Please choose a type first.", "Attention", JOptionPane.WARNING_MESSAGE);
+			MessageDialog.openWarning(writingShell, "Warning", "Please choose a type first.");
+			//writingShell.close();
+			//JFrame frame = new JFrame("Information");
+			//JOptionPane.showMessageDialog(frame, "Please choose a type first.", "Attention", JOptionPane.WARNING_MESSAGE);
 		} 
 		else
 		{
@@ -1225,8 +1290,10 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
 				int position = stwrAnno.getEnd();
 				if ((editor.getCas().getDocumentText().charAt(position) == '.') || (editor.getCas().getDocumentText().charAt(position) == '?') || (editor.getCas().getDocumentText().charAt(position) == '!'))
 				{
-					JFrame frame = new JFrame("Information");
-					JOptionPane.showMessageDialog(frame, "Please do not forget to mark the punctuation character.", "Attention", JOptionPane.WARNING_MESSAGE);	
+					MessageDialog.openWarning(writingPunctShell, "Warning", "Please do not forget to mark the punctuation character.");
+					//writingPunctShell.close();
+					//JFrame frame = new JFrame("Information");
+					//JOptionPane.showMessageDialog(frame, "Please do not forget to mark the punctuation character.", "Attention", JOptionPane.WARNING_MESSAGE);	
 				} else {
 					editor.addAnnotation(stwrAnno);
 				}
@@ -1245,10 +1312,12 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
 		ambigRTypeDialog.open();
 		if (ambigRTypeDialog.dirFlag == false && ambigRTypeDialog.indirFlag == false
 				&& ambigRTypeDialog.freeIndFlag == false && ambigRTypeDialog.repFlag == false) {
-			JFrame frame = new JFrame("Information");
-			JOptionPane.showMessageDialog(frame, "Please choose a type.", "Attention", JOptionPane.WARNING_MESSAGE);
+			MessageDialog.openWarning(rTypeAmbigShell, "Warning", "Please choose a type.");
+			//rTypeAmbigShell.close();
+			//JFrame frame = new JFrame("Information");
+			//JOptionPane.showMessageDialog(frame, "Please choose a type.", "Attention", JOptionPane.WARNING_MESSAGE);
 			ambigRTypeDialog.close();
-			ambigDialogRTypeShell.close();
+			//ambigDialogRTypeShell.close();
 		} else {
 			if (ambigRTypeDialog.dirFlag == true && ambigRTypeDialog.indirFlag == true
 					&& ambigRTypeDialog.freeIndFlag == true && ambigRTypeDialog.repFlag == true) {
@@ -1314,8 +1383,10 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
 		if (dirFlag == false && indFlag == false && freeIndFlag == false && repFlag == false &&
 		ambigRTypeDialog.dirFlag == false && ambigRTypeDialog.indirFlag == false && ambigRTypeDialog.freeIndFlag == false && ambigRTypeDialog.repFlag == false)
 		{
-			JFrame frame = new JFrame("Information");
-			JOptionPane.showMessageDialog(frame, "Please choose a type first.", "Attention", JOptionPane.WARNING_MESSAGE);
+			MessageDialog.openWarning(mediumAmbigShell, "Warning", "Please choose a type first.");
+			//mediumAmbigShell.close();
+			//JFrame frame = new JFrame("Information");
+			//JOptionPane.showMessageDialog(frame, "Please choose a type first.", "Attention", JOptionPane.WARNING_MESSAGE);
 		} 
 		else
 		{
@@ -1323,8 +1394,10 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
 
 			if (ambigMediumDialog.speechFlag == false && ambigMediumDialog.thoughtFlag == false
 					&& ambigMediumDialog.writingFlag == false) {
-				JFrame frame = new JFrame("Information");
-				JOptionPane.showMessageDialog(frame, "Please choose a medium.", "Attention", JOptionPane.WARNING_MESSAGE);
+				MessageDialog.openWarning(mediumAmbigShell, "Warning", "Please choose a medium.");
+				//mediumAmbigShell.close();
+				//JFrame frame = new JFrame("Information");
+				//JOptionPane.showMessageDialog(frame, "Please choose a medium.", "Attention", JOptionPane.WARNING_MESSAGE);
 				ambigMediumDialog.close();
 			} else {
 				if (ambigMediumDialog.speechFlag == true && ambigMediumDialog.thoughtFlag == true
@@ -1348,8 +1421,10 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
 					int position = stwrAnno.getEnd();
 					if ((editor.getCas().getDocumentText().charAt(position) == '.') || (editor.getCas().getDocumentText().charAt(position) == '?') || (editor.getCas().getDocumentText().charAt(position) == '!'))
 					{
-						JFrame frame = new JFrame("Information");
-						JOptionPane.showMessageDialog(frame, "Please do not forget to mark the punctuation character.", "Attention", JOptionPane.WARNING_MESSAGE);	
+						MessageDialog.openWarning(mediumPunctAmbigShell, "Warning", "Please do not forget to mark the punctuation character.");
+						//mediumPunctAmbigShell.close();
+						//JFrame frame = new JFrame("Information");
+						//JOptionPane.showMessageDialog(frame, "Please do not forget to mark the punctuation character.", "Attention", JOptionPane.WARNING_MESSAGE);	
 					} else {
 						editor.addAnnotation(stwrAnno);
 					}
@@ -1397,8 +1472,10 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
 	public void setMetadataMap(){
 		this.metadataMap.clear();
 		if (editor.getCas().getAnnotationIndex(metadataType).size() == 0){
-			JFrame errorFrame = new JFrame("Information");
-			JOptionPane.showMessageDialog(errorFrame, "Metadata is not defined.", "Attention", JOptionPane.WARNING_MESSAGE);	
+			MessageDialog.openWarning(metadataDefinedShell, "Warning", "Metadata is not defined.");
+			//metadataDefinedShell.close();
+			//JFrame errorFrame = new JFrame("Information");
+			//JOptionPane.showMessageDialog(errorFrame, "Metadata is not defined.", "Attention", JOptionPane.WARNING_MESSAGE);	
 		} else {
 			for (AnnotationFS anno : editor.getCas().getAnnotationIndex(metadataType)){	
 				if(anno.getFeatureValueAsString(idFeat) == null || anno.getFeatureValueAsString(origFileFeat) == null
@@ -1410,8 +1487,10 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
 					|| anno.getFeatureValueAsString(periodicalFeat) == null || anno.getFeatureValueAsString(nameFeat) == null
 					|| anno.getFeatureValueAsString(timeStampFeat) == null || anno.getFeatureValueAsString(versionFeat) == null)
 				{
-					JFrame errorFrame = new JFrame("Information");
-					JOptionPane.showMessageDialog(errorFrame, "Metadata is incomplete.", "Attention", JOptionPane.WARNING_MESSAGE);	
+					//JFrame errorFrame = new JFrame("Information");
+					//JOptionPane.showMessageDialog(errorFrame, "Metadata is incomplete.", "Attention", JOptionPane.WARNING_MESSAGE);
+					MessageDialog.openWarning(metadataIncompleteShell, "Warning", "Metadata is not incomplete.");
+					//metadataIncompleteShell.close();
 				}
 			 
 				else
@@ -1955,6 +2034,19 @@ public class RedeWiedergabeView extends AEditorSubordinateViewPart {
 		}
 	}
 	
+	public void changeToFreeIndirect(List<AnnotationFS> annos){
+		for (AnnotationFS anno : annos) {
+			String rTypeValue = anno.getFeatureValueAsString(rTypeFeat);
+
+			if (rTypeValue == null) {
+				rTypeValue = "ruleFreeIndirect";
+			}
+			rTypeValue = rTypeValue.equals("ruleFreeIndirect") ? "freeIndirect" : "ruleFreeIndirect";
+			updateAnnotation(anno, rTypeFeat, rTypeValue, true);
+		}
+			renewPage();
+	}
+	
 	public void addStwrNote(List<AnnotationFS> annos) {
 		
 		for (AnnotationFS anno : annos) {
diff --git a/de.uniwue.mk.athen/bundles/de.ids.tt.athen.rwview/src/de/ids/tt/athen/rwview/ui/RwDrawingStrategy.java b/de.uniwue.mk.athen/bundles/de.ids.tt.athen.rwview/src/de/ids/tt/athen/rwview/ui/RwDrawingStrategy.java
index 840291990bc5739c7637ea3c968af67966e968fa..7380cf5005ef1ca131f3399daf87599fb96deeee 100644
--- a/de.uniwue.mk.athen/bundles/de.ids.tt.athen.rwview/src/de/ids/tt/athen/rwview/ui/RwDrawingStrategy.java
+++ b/de.uniwue.mk.athen/bundles/de.ids.tt.athen.rwview/src/de/ids/tt/athen/rwview/ui/RwDrawingStrategy.java
@@ -47,6 +47,9 @@ public class RwDrawingStrategy implements IAnnotationDrawingStrategy {
 	private Color gold = new Color (device, 255, 215, 0);
 	private Color goldenrod = new Color (device, 218, 165, 32);
 	
+	//ruleFreeIndirect
+	private Color orangered = new Color (device, 255, 69, 0);
+	
 	//ambig
 	private Color peachpuff = new Color (device, 255, 218, 185);
 	
@@ -99,6 +102,8 @@ public class RwDrawingStrategy implements IAnnotationDrawingStrategy {
 		if (anno.getFeatureValueAsString(rTypeFeat).equals("direct")
 				&& anno.getFeatureValueAsString(mediumFeat).equals("speech")) {
 			gc.setBackground(lightpink);
+		} else if (anno.getFeatureValueAsString(rTypeFeat).equals("ruleFreeIndirect")){
+			gc.setBackground(orangered);
 		} else if (anno.getFeatureValueAsString(rTypeFeat).equals("direct")
 				&& anno.getFeatureValueAsString(mediumFeat).equals("thought")) {
 			gc.setBackground(hotpink);
diff --git a/de.uniwue.mk.athen/bundles/de.ids.tt.athen.rwview/src/de/ids/tt/athen/rwview/ui/RwStwrTableComposite.java b/de.uniwue.mk.athen/bundles/de.ids.tt.athen.rwview/src/de/ids/tt/athen/rwview/ui/RwStwrTableComposite.java
index cf49df04c0b42d5d31d51cc3c8d41f2fe69d743f..df5ed59c894ef542d26528537e58b046d2dfe02f 100644
--- a/de.uniwue.mk.athen/bundles/de.ids.tt.athen.rwview/src/de/ids/tt/athen/rwview/ui/RwStwrTableComposite.java
+++ b/de.uniwue.mk.athen/bundles/de.ids.tt.athen.rwview/src/de/ids/tt/athen/rwview/ui/RwStwrTableComposite.java
@@ -1,5 +1,6 @@
 package de.ids.tt.athen.rwview.ui;
 
+import java.awt.event.KeyEvent;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
@@ -218,7 +219,8 @@ public class RwStwrTableComposite extends Composite{
 
 	// on enter we allow the user to change the name feature
 	if (e.keyCode == SWT.CR) {
-		part.addStwrNote(selectedAnnos);
+		//part.addStwrNote(selectedAnnos);
+		part.goToAnnotation(getSelectedAnnotationsFromTable());
 	}
 	
 	// change medium feature
@@ -253,6 +255,12 @@ public class RwStwrTableComposite extends Composite{
 	else if (e.keyCode == 'm') {
 		part.toggleMetaph(selectedAnnos);
 	}
+	else if (e.keyCode == KeyEvent.VK_SPACE){
+		part.changeToFreeIndirect(selectedAnnos);		
+	}
+	else if (e.keyCode == KeyEvent.VK_DELETE){
+		part.deleteAnnotations(getSelectedAnnotationsFromTable());
+	}
 	}
 	
 	private void handleTableDoubleClick (Event e)
diff --git a/de.uniwue.mk.athen/bundles/de.ids.tt.athen.rwview/typesystem/redeWiedergabeTypesystem_compare_tei_cab.xml b/de.uniwue.mk.athen/bundles/de.ids.tt.athen.rwview/typesystem/redeWiedergabeTypesystem_compare_tei_cab.xml
index e0d0902411c0ef53b32c59b67c8e6959f7c52868..ef60dc859584d5978030e81ea052044c49f622d6 100644
--- a/de.uniwue.mk.athen/bundles/de.ids.tt.athen.rwview/typesystem/redeWiedergabeTypesystem_compare_tei_cab.xml
+++ b/de.uniwue.mk.athen/bundles/de.ids.tt.athen.rwview/typesystem/redeWiedergabeTypesystem_compare_tei_cab.xml
@@ -686,7 +686,7 @@
 	
 	  <typeDescription>
       <name>de.idsma.rw.CabToken</name>
-      <description>CAB tokenizer</description>
+      <description/>
       <supertypeName>uima.tcas.Annotation</supertypeName>
       <features>
         <featureDescription>
@@ -714,11 +714,11 @@
           <description/>
           <rangeTypeName>uima.cas.String</rangeTypeName>
         </featureDescription>
-      <featureDescription>
-          <name>RfPos</name>
-          <description/>
-          <rangeTypeName>uima.cas.String</rangeTypeName>
-        </featureDescription>
+          <featureDescription>
+              <name>RfPos</name>
+              <description/>
+              <rangeTypeName>uima.cas.String</rangeTypeName>
+          </featureDescription>
       </features>
     </typeDescription>
 	
@@ -750,13 +750,13 @@
       <description/>
       <supertypeName>uima.tcas.Annotation</supertypeName>
     </typeDescription>
-	
-	
-  <typeDescription>
+
+
+    <typeDescription>
       <name>de.idsma.rw.preprocessing.Token</name>
       <description>openNLPTokenizer</description>
       <supertypeName>uima.tcas.Annotation</supertypeName>
-    <features>
+      <features>
         <featureDescription>
           <name>Lemma</name>
           <description/>
@@ -769,133 +769,93 @@
         </featureDescription>
       </features>
     </typeDescription>
+
     <typeDescription>
       <name>de.idsma.rw.preprocessing.OpenNLPSentence</name>
       <description>OpenNLP sentence detector</description>
       <supertypeName>uima.tcas.Annotation</supertypeName>
     </typeDescription>
-  <typeDescription>
-      <name>de.idsma.rw.AutoStwr</name>
-      <description>Stwr annotations created by a rule-based function / machine learning</description>
+
+    <typeDescription>
+      <name>de.idsma.rw.rule.StwWord</name>
+      <description>A word that indictates a speech, thought or writing event</description>
       <supertypeName>uima.tcas.Annotation</supertypeName>
-      <features>
-        <featureDescription>
-          <name>AutoMedium</name>
-          <description/>
-          <rangeTypeName>uima.cas.String</rangeTypeName>
-        </featureDescription>
-        <featureDescription>
-          <name>AutoRType</name>
-          <description/>
-          <rangeTypeName>uima.cas.String</rangeTypeName>
-        </featureDescription>
-        <featureDescription>
-          <name>AutoLevel</name>
-          <description/>
-          <rangeTypeName>uima.cas.String</rangeTypeName>
-        </featureDescription>
-        <featureDescription>
-          <name>AutoNonFact</name>
-          <description/>
-          <rangeTypeName>uima.cas.String</rangeTypeName>
-        </featureDescription>
-        <featureDescription>
-          <name>AutoPrag</name>
-          <description/>
-          <rangeTypeName>uima.cas.String</rangeTypeName>
-        </featureDescription>
-        <featureDescription>
-          <name>AutoBorder</name>
-          <description/>
-          <rangeTypeName>uima.cas.String</rangeTypeName>
-        </featureDescription>
-        <featureDescription>
-          <name>AutoMetaph</name>
-          <description/>
-          <rangeTypeName>uima.cas.String</rangeTypeName>
-        </featureDescription>
-        <featureDescription>
-          <name>AutoStwr</name>
-          <description/>
-          <rangeTypeName>uima.cas.String</rangeTypeName>
-        </featureDescription>
-        <featureDescription>
-          <name>AutoStwrID</name>
-          <description/>
-          <rangeTypeName>uima.cas.String</rangeTypeName>
-        </featureDescription>
-      </features>
-  </typeDescription>
-  <typeDescription>
-      <name>uimarwprojekt.types.STWWord</name>
-      <description/>
+        <features>
+            <featureDescription>
+                <name>Lemma</name>
+                <description>Lemma of the STWWord</description>
+                <rangeTypeName>uima.cas.String</rangeTypeName>
+            </featureDescription>
+            <featureDescription>
+                <name>Penalty</name>
+                <description>Penalty value, number between 0 and 5</description>
+                <rangeTypeName>uima.cas.String</rangeTypeName>
+            </featureDescription>
+            <featureDescription>
+                <name>Medium</name>
+                <description>Likely medium of the STWWord</description>
+                <rangeTypeName>uima.cas.String</rangeTypeName>
+            </featureDescription>
+            <featureDescription>
+                <name>Marker</name>
+                <description>Special marker for the STWWord,
+                    at the moment: rep (likely reported) or nil (nothing)</description>
+                <rangeTypeName>uima.cas.String</rangeTypeName>
+            </featureDescription>
+        </features>
+    </typeDescription>
+
+    <typeDescription>
+      <name>de.idsma.rw.rule.RuleDirect</name>
+      <description>A word that indictates a speech, thought or writing event</description>
       <supertypeName>uima.tcas.Annotation</supertypeName>
-      <features>
-        <featureDescription>
-          <name>Lemma</name>
-          <description/>
-          <rangeTypeName>uima.cas.String</rangeTypeName>
-        </featureDescription>
-        <featureDescription>
-          <name>Source</name>
-          <description/>
-          <rangeTypeName>uima.cas.String</rangeTypeName>
-        </featureDescription>
-        <featureDescription>
-          <name>Penalty</name>
-          <description/>
-          <rangeTypeName>uima.cas.String</rangeTypeName>
-        </featureDescription>
-        <featureDescription>
-          <name>Category</name>
-          <description/>
-          <rangeTypeName>uima.cas.String</rangeTypeName>
-        </featureDescription>
-        <featureDescription>
-          <name>Marker</name>
-          <description/>
-          <rangeTypeName>uima.cas.String</rangeTypeName>
-        </featureDescription>
-        <featureDescription>
-          <name>Frequency</name>
-          <description/>
-          <rangeTypeName>uima.cas.String</rangeTypeName>
-        </featureDescription>
-      </features>
     </typeDescription>
-  <typeDescription>
-      <name>de.idsma.rw.AutoFrame</name>
-      <description/>
+
+    <typeDescription>
+      <name>de.idsma.rw.rule.RuleIndirect</name>
+      <description>A word that indictates a speech, thought or writing event</description>
       <supertypeName>uima.tcas.Annotation</supertypeName>
-      <features>
-        <featureDescription>
-          <name>AutoPos</name>
-          <description/>
-          <rangeTypeName>uima.cas.String</rangeTypeName>
-        </featureDescription>
-        <featureDescription>
-          <name>AutoFrame</name>
-          <description/>
-          <rangeTypeName>uima.cas.String</rangeTypeName>
-        </featureDescription>
-      <featureDescription>
-          <name>AutoRwType</name>
-          <description/>
-          <rangeTypeName>uima.cas.String</rangeTypeName>
-        </featureDescription>
-      </features>
+        <features>
+            <featureDescription>
+                <name>Penalty</name>
+                <description>Penalty value for this instance</description>
+                <rangeTypeName>uima.cas.String</rangeTypeName>
+            </featureDescription>
+            <featureDescription>
+                <name>IndType</name>
+                <description>Structural type of this instance: zu, conj, conjVerb</description>
+                <rangeTypeName>uima.cas.String</rangeTypeName>
+            </featureDescription>
+        </features>
     </typeDescription>
-  <typeDescription>
-      <name>de.idsma.rw.preprocessing.riedlmaNamedEntity</name>
-      <description/>
+
+    <typeDescription>
+      <name>de.idsma.rw.rule.RuleFreeIndirect</name>
+      <description>A word that indictates a speech, thought or writing event</description>
       <supertypeName>uima.tcas.Annotation</supertypeName>
-      <features>
-        <featureDescription>
-          <name>NamedEntityTag</name>
-          <description/>
-          <rangeTypeName>uima.cas.String</rangeTypeName>
-        </featureDescription>
-      </features>
+        <features>
+            <featureDescription>
+                <name>Score</name>
+                <description>Score for this fi instance</description>
+                <rangeTypeName>uima.cas.String</rangeTypeName>
+            </featureDescription>
+        </features>
     </typeDescription>
-  </types>
+
+    <typeDescription>
+          <name>de.idsma.rw.rule.RuleFrame</name>
+          <description/>
+          <supertypeName>uima.tcas.Annotation</supertypeName>
+          <features>
+              <featureDescription>
+                  <name>Pos</name>
+                  <description>- start
+                      - mid
+                      - end</description>
+                  <rangeTypeName>uima.cas.String</rangeTypeName>
+              </featureDescription>
+          </features>
+      </typeDescription>
+	  
+    </types>
 </typeSystemDescription>