Index: TXM/trunk/bundles/org.txm.groovy.core/META-INF/MANIFEST.MF
===================================================================
--- TXM/trunk/bundles/org.txm.groovy.core/META-INF/MANIFEST.MF	(revision 4021)
+++ TXM/trunk/bundles/org.txm.groovy.core/META-INF/MANIFEST.MF	(revision 4022)
@@ -10,7 +10,8 @@
  org.txm.searchengine.cqp.core;visibility:=reexport,
  org.txm.tokenizer.core;visibility:=reexport,
  org.eclipse.osgi;visibility:=reexport,
- org.txm.utils.core;bundle-version="1.0.0"
+ org.txm.utils.core;bundle-version="1.0.0",
+ org.txm.nlp.core
 Bundle-ActivationPolicy: lazy
 Bundle-ManifestVersion: 2
 Bundle-RequiredExecutionEnvironment: JavaSE-16
Index: TXM/trunk/bundles/org.txm.groovy.core/src/java/org/txm/groovy/core/GroovyScriptedImportEngine.java
===================================================================
--- TXM/trunk/bundles/org.txm.groovy.core/src/java/org/txm/groovy/core/GroovyScriptedImportEngine.java	(revision 4021)
+++ TXM/trunk/bundles/org.txm.groovy.core/src/java/org/txm/groovy/core/GroovyScriptedImportEngine.java	(revision 4022)
@@ -8,13 +8,13 @@
 import org.eclipse.core.runtime.Status;
 import org.eclipse.osgi.util.NLS;
 import org.txm.Toolbox;
-import org.txm.annotation.core.AnnotationEngine;
 import org.txm.core.engines.Engine;
 import org.txm.core.engines.EngineType;
 import org.txm.core.engines.ScriptedImportEngine;
 import org.txm.core.messages.TXMCoreMessages;
 import org.txm.core.results.TXMResult;
 import org.txm.groovy.core.messages.GroovyMessages;
+import org.txm.nlp.core.NLPEngine;
 import org.txm.objects.Project;
 import org.txm.objects.Workspace;
 import org.txm.tokenizer.TokenizerClasses;
@@ -45,12 +45,12 @@
 			Workspace w = Toolbox.workspace;
 			boolean annotate = project.getAnnotate();
 			if (annotate && !project.getDoUpdate()) { // test TreeTagger only if not updating the corpus
-				Engine e = Toolbox.getEngineManager(EngineType.ANNOTATION).getEngine("TreeTagger");
+				Engine e = Toolbox.getEngineManager(EngineType.NLP).getEngine("TreeTagger");
 				if (e == null) {
 					Log.warning("Error: no TreeTagger annotation engine found to annotate the corpus. Aborting");
 					return Status.CANCEL_STATUS;
 				}
-				AnnotationEngine engine = (AnnotationEngine) e;
+				NLPEngine engine = (NLPEngine) e;
 				if (!engine.isRunning()) {
 					Log.warning(GroovyMessages.errorTreeTaggerAnnotationEngineIsNotReady);
 					return Status.CANCEL_STATUS;
Index: TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/xml/xmlLoader.groovy
===================================================================
--- TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/xml/xmlLoader.groovy	(revision 4021)
+++ TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/xml/xmlLoader.groovy	(revision 4022)
@@ -235,7 +235,7 @@
 if (annotate) {
 	println "-- ANNOTATE - Running NLP tools"
 	String engineName = project.getImportParameters().node("annotate").get("engine", "TreeTagger")
-	def engine = Toolbox.getEngineManager(EngineType.ANNOTATION).getEngine(engineName)
+	def engine = Toolbox.getEngineManager(EngineType.NLP).getEngine(engineName)
 	if (engine.processDirectory(txmDir, binDir, ["lang":model])) {
 		annotationSuccess = true
 		if (project.getCleanAfterBuild()) {
Index: TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/bfm/bfmLoader.groovy
===================================================================
--- TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/bfm/bfmLoader.groovy	(revision 4021)
+++ TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/bfm/bfmLoader.groovy	(revision 4022)
@@ -137,7 +137,7 @@
 if (annotate) {
 	println "-- ANNOTATE - Running NLP tools - $model model"
 	String engineName = project.getImportParameters().node("annotate").get("engine", "TreeTagger")
-	def engine = Toolbox.getEngineManager(EngineType.ANNOTATION).getEngine(engineName)
+	def engine = Toolbox.getEngineManager(EngineType.NLP).getEngine(engineName)
 	if (engine.processDirectory(txmDir, binDir, ["lang":model])) {
 		annotate_status = true;
 		
Index: TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/doc/docLoader.groovy
===================================================================
--- TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/doc/docLoader.groovy	(revision 4021)
+++ TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/doc/docLoader.groovy	(revision 4022)
@@ -256,7 +256,7 @@
 if (annotate) {
 	println "-- ANNOTATE - Running NLP tools"
 	String engineName = project.getImportParameters().node("annotate").get("engine", "TreeTagger")
-	def engine = Toolbox.getEngineManager(EngineType.ANNOTATION).getEngine(engineName)
+	def engine = Toolbox.getEngineManager(EngineType.NLP).getEngine(engineName)
 	if (engine.processDirectory(txmDir, binDir, ["lang":model])) {
 		annotationSuccess = true;
 		if (project.getCleanAfterBuild()) {
Index: TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/tmx/tmxLoader.groovy
===================================================================
--- TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/tmx/tmxLoader.groovy	(revision 4021)
+++ TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/tmx/tmxLoader.groovy	(revision 4022)
@@ -88,7 +88,7 @@
 if (annotate) {
 	println "-- ANNOTATE - Running NLP tools"
 	String engineName = project.getImportParameters().node("annotate").get("engine", "TreeTagger")
-	def engine = Toolbox.getEngineManager(EngineType.ANNOTATION).getEngine(engineName)
+	def engine = Toolbox.getEngineManager(EngineType.NLP).getEngine(engineName)
 	def mapForTreeTagger = [:]
 	for (def k : textLangs.keySet()) mapForTreeTagger[k] = textLangs[k].toLowerCase();
 		println "TreeTagger models to use per text: $mapForTreeTagger"
Index: TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/factiva/factivaLoader.groovy
===================================================================
--- TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/factiva/factivaLoader.groovy	(revision 4021)
+++ TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/factiva/factivaLoader.groovy	(revision 4022)
@@ -217,7 +217,7 @@
 if (annotate) {
 	println "-- ANNOTATE - Running NLP tools"
 	String engineName = project.getImportParameters().node("annotate").get("engine", "TreeTagger")
-	def engine = Toolbox.getEngineManager(EngineType.ANNOTATION).getEngine(engineName)
+	def engine = Toolbox.getEngineManager(EngineType.NLP).getEngine(engineName)
 	if (engine.processDirectory(txmDir, binDir, ["lang":model])) {
 		annotationSuccess = true;
 		if (project.getCleanAfterBuild()) {
Index: TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/factiva/factivamailLoader.groovy
===================================================================
--- TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/factiva/factivamailLoader.groovy	(revision 4021)
+++ TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/factiva/factivamailLoader.groovy	(revision 4022)
@@ -105,7 +105,7 @@
 if (annotate) {
 	println "-- ANNOTATE - Running NLP tools"
 	String engineName = project.getImportParameters().node("annotate").get("engine", "TreeTagger")
-	def engine = Toolbox.getEngineManager(EngineType.ANNOTATION).getEngine(engineName)
+	def engine = Toolbox.getEngineManager(EngineType.NLP).getEngine(engineName)
 	if (engine.processDirectory(txmDir, binDir, ["lang":model])) {
 		annotationSuccess = true;
 	}
Index: TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/transcriber/transcriberLoader.groovy
===================================================================
--- TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/transcriber/transcriberLoader.groovy	(revision 4021)
+++ TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/transcriber/transcriberLoader.groovy	(revision 4022)
@@ -204,7 +204,7 @@
 		if (annotate) {
 			println "-- ANNOTATE - Running NLP tools"
 			String engineName = project.getImportParameters().node("annotate").get("engine", "TreeTagger")
-	def engine = Toolbox.getEngineManager(EngineType.ANNOTATION).getEngine(engineName)
+	def engine = Toolbox.getEngineManager(EngineType.NLP).getEngine(engineName)
 			if (engine.processDirectory(txmDir, binDir, ["lang":model])) {
 				annotationSuccess = true;
 				
Index: TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/txt/txtLoader.groovy
===================================================================
--- TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/txt/txtLoader.groovy	(revision 4021)
+++ TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/txt/txtLoader.groovy	(revision 4022)
@@ -132,7 +132,7 @@
 if (annotate) {
 	println "-- ANNOTATE - Running NLP tools"
 	String engineName = project.getImportParameters().node("annotate").get("engine", "TreeTagger")
-	def engine = Toolbox.getEngineManager(EngineType.ANNOTATION).getEngine(engineName)
+	def engine = Toolbox.getEngineManager(EngineType.NLP).getEngine(engineName)
 	if (engine.processDirectory(txmDir, binDir, ["lang":model])) {
 		annotationSuccess = true
 		if (project.getCleanAfterBuild()) {
Index: TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/alceste/importer.groovy
===================================================================
--- TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/alceste/importer.groovy	(revision 4021)
+++ TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/alceste/importer.groovy	(revision 4022)
@@ -114,7 +114,7 @@
 				def tokenizer = new SimpleTokenizerXml(f, resultfile, TokenizerClasses.newTokenizerClasses(project.getPreferencesScope(), lang));
 				if (project.getAnnotate()) { // an annotation will be done, does the annotation engine needs another tokenizer ?
 					String engineName = project.getImportParameters().node("annotate").get("engine", "TreeTagger")
-					def engine = Toolbox.getEngineManager(EngineType.ANNOTATION).getEngine(engineName)
+					def engine = Toolbox.getEngineManager(EngineType.NLP).getEngine(engineName)
 					def stringTokenizer = engine.getStringTokenizer(lang)
 					if (stringTokenizer != null) {
 						tokenizer.setStringTokenizer(stringTokenizer)
Index: TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/alceste/alcesteLoader.groovy
===================================================================
--- TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/alceste/alcesteLoader.groovy	(revision 4021)
+++ TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/alceste/alcesteLoader.groovy	(revision 4022)
@@ -91,7 +91,7 @@
 if (annotate) {
 	println "-- ANNOTATE - Running NLP tools"
 	String engineName = project.getImportParameters().node("annotate").get("engine", "TreeTagger")
-	def engine = Toolbox.getEngineManager(EngineType.ANNOTATION).getEngine(engineName)
+	def engine = Toolbox.getEngineManager(EngineType.NLP).getEngine(engineName)
 	if (engine.processDirectory(txmDir, binDir, ["lang":model])) {
 		annotationSuccess = true;
 	}
Index: TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/hyperbase/hyperbaseLoader.groovy
===================================================================
--- TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/hyperbase/hyperbaseLoader.groovy	(revision 4021)
+++ TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/hyperbase/hyperbaseLoader.groovy	(revision 4022)
@@ -89,7 +89,7 @@
 boolean annotationSuccess = false;
 if (annotate) {
 	String engineName = project.getImportParameters().node("annotate").get("engine", "TreeTagger")
-	def engine = Toolbox.getEngineManager(EngineType.ANNOTATION).getEngine(engineName)
+	def engine = Toolbox.getEngineManager(EngineType.NLP).getEngine(engineName)
 	if (engine.processDirectory(txmDir, binDir, ["lang":model])) {
 		annotationSuccess = true;
 		if (project.getCleanAfterBuild()) {
Index: TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/hyperbase/importer.groovy
===================================================================
--- TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/hyperbase/importer.groovy	(revision 4021)
+++ TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/hyperbase/importer.groovy	(revision 4022)
@@ -114,7 +114,7 @@
 			SimpleTokenizerXml tokenizer = new SimpleTokenizerXml(pfile, tfile, TokenizerClasses.newTokenizerClasses(project.getPreferencesScope(), lang));
 			if (project.getAnnotate()) { // an annotation will be done, does the annotation engine needs another tokenizer ?
 				String engineName = project.getImportParameters().node("annotate").get("engine", "TreeTagger")
-				def engine = Toolbox.getEngineManager(EngineType.ANNOTATION).getEngine(engineName)
+				def engine = Toolbox.getEngineManager(EngineType.NLP).getEngine(engineName)
 				def stringTokenizer = engine.getStringTokenizer(lang)
 				if (stringTokenizer != null) {
 					tokenizer.setStringTokenizer(stringTokenizer)
Index: TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/xtz/TTAnnotater.groovy
===================================================================
--- TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/xtz/TTAnnotater.groovy	(revision 4021)
+++ TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/xtz/TTAnnotater.groovy	(revision 4022)
@@ -33,7 +33,7 @@
 		String lang = module.getProject().getLang();
 
 		String engineName = module.getProject().getImportParameters().node("annotate").get("engine", "TreeTagger")
-		def engine = Toolbox.getEngineManager(EngineType.ANNOTATION).getEngine(engineName)
+		def engine = Toolbox.getEngineManager(EngineType.NLP).getEngine(engineName)
 		if (module.isMultiThread()) {
 			def hash = [:]
 			for (File txmFile : inputDirectory.listFiles()) {
Index: TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/xtz/XTZImporter.groovy
===================================================================
--- TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/xtz/XTZImporter.groovy	(revision 4021)
+++ TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/xtz/XTZImporter.groovy	(revision 4022)
@@ -434,7 +434,7 @@
 				SimpleTokenizerXml tokenizer = new SimpleTokenizerXml(infile, outfile, tc)
 				if (module.getProject().getAnnotate()) { // an annotation will be done, does the annotation engine needs another tokenizer ?
 					String engineName = module.getProject().getImportParameters().node("annotate").get("engine", "TreeTagger")
-					def engine = Toolbox.getEngineManager(EngineType.ANNOTATION).getEngine(engineName)
+					def engine = Toolbox.getEngineManager(EngineType.NLP).getEngine(engineName)
 					def stringTokenizer = engine.getStringTokenizer(lang)
 					if (stringTokenizer != null) {
 						tokenizer.setStringTokenizer(stringTokenizer)
Index: TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/hyperprince/hyperprinceLoader.groovy
===================================================================
--- TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/hyperprince/hyperprinceLoader.groovy	(revision 4021)
+++ TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/hyperprince/hyperprinceLoader.groovy	(revision 4022)
@@ -81,7 +81,7 @@
 println "-- ANNOTATE - Running NLP tools"
 if (annotate) {
 	String engineName = project.getImportParameters().node("annotate").get("engine", "TreeTagger")
-	def engine = Toolbox.getEngineManager(EngineType.ANNOTATION).getEngine(engineName)
+	def engine = Toolbox.getEngineManager(EngineType.NLP).getEngine(engineName)
 	if (engine.processDirectory(txmDir, binDir, ["lang":model])) {
 		annotationSuccess = true;
 	}
Index: TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/frantext/frantextLoader.groovy
===================================================================
--- TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/frantext/frantextLoader.groovy	(revision 4021)
+++ TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/frantext/frantextLoader.groovy	(revision 4022)
@@ -157,7 +157,7 @@
 if (annotate) {
 	println "-- ANNOTATE - Running NLP tools - $model model"
 	String engineName = project.getImportParameters().node("annotate").get("engine", "TreeTagger")
-	def engine = Toolbox.getEngineManager(EngineType.ANNOTATION).getEngine(engineName)
+	def engine = Toolbox.getEngineManager(EngineType.NLP).getEngine(engineName)
 	if (engine.processDirectory(txmDir, binDir, ["lang":model])) {
 		annotate_status = true;
 		if (project.getCleanAfterBuild()) {
Index: TXM/trunk/bundles/org.txm.annotation.kr.core/src/org/txm/annotation/kr/core/KRAnnotationEngine.java
===================================================================
--- TXM/trunk/bundles/org.txm.annotation.kr.core/src/org/txm/annotation/kr/core/KRAnnotationEngine.java	(revision 4021)
+++ TXM/trunk/bundles/org.txm.annotation.kr.core/src/org/txm/annotation/kr/core/KRAnnotationEngine.java	(revision 4022)
@@ -414,23 +414,8 @@
 		ams.clear();
 		return success;
 	}
-	
-	/**
-	 * The KR Annotation engine is an assisted oriented annotation engine
-	 * 
-	 * @return false
-	 */
+		
 	@Override
-	public boolean isAutomatic() {
-		return false;
-	}
-	
-	@Override
-	public boolean processFile(File xmlFile, File binaryCorpusDirectory, HashMap<String, Object> parameters) {
-		return false;
-	}
-	
-	@Override
 	public void notify(TXMResult r, String state) {
 		
 		if (r instanceof MainCorpus && "before_clean".equals(state)) { //$NON-NLS-1$
Index: TXM/trunk/bundles/org.txm.treetagger.core/plugin.xml
===================================================================
--- TXM/trunk/bundles/org.txm.treetagger.core/plugin.xml	(revision 4021)
+++ TXM/trunk/bundles/org.txm.treetagger.core/plugin.xml	(revision 4022)
@@ -8,7 +8,7 @@
       </initializer>
    </extension>
    <extension
-         point="org.txm.annotation.core.AnnotationEngine">
+         point="org.txm.nlp.core.NLPEngine">
       <AnnotationEngine
             class="org.txm.treetagger.core.TreeTaggerEngine"
             description="Call TreeTagger treetagger train processus to annotate corpus">
Index: TXM/trunk/bundles/org.txm.treetagger.core/META-INF/MANIFEST.MF
===================================================================
--- TXM/trunk/bundles/org.txm.treetagger.core/META-INF/MANIFEST.MF	(revision 4021)
+++ TXM/trunk/bundles/org.txm.treetagger.core/META-INF/MANIFEST.MF	(revision 4022)
@@ -5,7 +5,8 @@
 Bundle-SymbolicName: org.txm.treetagger.core;singleton:=true
 Bundle-Version: 1.0.0.qualifier
 Bundle-Name: TreeTagger Core
-Require-Bundle: org.txm.annotation.core;visibility:=reexport
+Require-Bundle: org.txm.nlp.core;bundle-version="1.0.0",
+ org.txm.core
 Bundle-ActivationPolicy: lazy
 Bundle-ManifestVersion: 2
 Bundle-RequiredExecutionEnvironment: JavaSE-16
Index: TXM/trunk/bundles/org.txm.treetagger.core/src/org/txm/treetagger/core/TreeTaggerEngine.java
===================================================================
--- TXM/trunk/bundles/org.txm.treetagger.core/src/org/txm/treetagger/core/TreeTaggerEngine.java	(revision 4021)
+++ TXM/trunk/bundles/org.txm.treetagger.core/src/org/txm/treetagger/core/TreeTaggerEngine.java	(revision 4022)
@@ -6,17 +6,17 @@
 
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.osgi.util.NLS;
-import org.txm.annotation.core.AnnotationEngine;
 import org.txm.core.results.TXMResult;
 import org.txm.importer.xmltxm.Annotate;
 import org.txm.importer.xmltxm.AnnotateCQP;
-import org.txm.objects.CorpusBuild;
+import org.txm.nlp.core.NLPEngine;
 import org.txm.treetagger.core.preferences.TreeTaggerPreferences;
 import org.txm.utils.FileUtils;
 import org.txm.utils.logger.Log;
 import org.txm.utils.treetagger.TreeTagger;
 
-public class TreeTaggerEngine extends AnnotationEngine {
+
+public class TreeTaggerEngine extends NLPEngine {
 	
 	private File ttModelsDirectory;
 	
@@ -186,12 +186,6 @@
 	}
 	
 	@Override
-	public boolean isAutomatic() {
-		
-		return true;
-	}
-	
-	@Override
 	public void notify(TXMResult r, String state) {
 		
 	}
@@ -202,12 +196,4 @@
 		return "TreeTagger files: binaries=" + ttBinaryDirectory + " models=" + ttModelsDirectory + " current instances=" + instances.toString();
 	}
 	
-	/**
-	 * Currently returning false, but could return true if new usages come up
-	 */
-	@Override
-	public boolean hasAnnotationsToSave(CorpusBuild corpus) {
-		
-		return false;
-	}
 }
Index: TXM/trunk/bundles/org.txm.core/src/java/org/txm/core/engines/EngineType.java
===================================================================
--- TXM/trunk/bundles/org.txm.core/src/java/org/txm/core/engines/EngineType.java	(revision 4021)
+++ TXM/trunk/bundles/org.txm.core/src/java/org/txm/core/engines/EngineType.java	(revision 4022)
@@ -16,7 +16,7 @@
 	CHARTS("charts"),
 	SCRIPT("scripts"),
 	ANNOTATION("annotations"),
-	TAL("tal"),
+	NLP("nlp"),
 	OTHER("others engines"), IMPORT("import");
 
 	/**
Index: TXM/trunk/bundles/org.txm.core/src/java/org/txm/Toolbox.java
===================================================================
--- TXM/trunk/bundles/org.txm.core/src/java/org/txm/Toolbox.java	(revision 4021)
+++ TXM/trunk/bundles/org.txm.core/src/java/org/txm/Toolbox.java	(revision 4022)
@@ -136,7 +136,7 @@
 				Log.fine("Registering " + enginesManager.getEnginesDescription() + " engines manager..."); //$NON-NLS-1$ //$NON-NLS-2$
 				addEngineManager(enginesManager);
 				if (enginesManager.fetchEngines()) {
-					Log.fine(NLS.bind("{0} {1} engine(s) loaded.", enginesManager.size(), EngineType.TAL)); //$NON-NLS-1$
+					Log.fine(NLS.bind("{0} {1} engine(s) loaded.", enginesManager.size(), EngineType.NLP)); //$NON-NLS-1$
 				}
 				else {
 					Log.fine("No engine found for " + enginesManager + ", installation failed."); //$NON-NLS-1$ //$NON-NLS-2$
Index: TXM/trunk/bundles/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/LangSection.java
===================================================================
--- TXM/trunk/bundles/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/LangSection.java	(revision 4021)
+++ TXM/trunk/bundles/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/LangSection.java	(revision 4022)
@@ -19,10 +19,10 @@
 import org.eclipse.ui.forms.widgets.TableWrapData;
 import org.eclipse.ui.forms.widgets.TableWrapLayout;
 import org.txm.Toolbox;
-import org.txm.annotation.core.AnnotationEngine;
 import org.txm.core.engines.Engine;
 import org.txm.core.engines.EngineType;
 import org.txm.core.engines.EnginesManager;
+import org.txm.nlp.core.NLPEngine;
 import org.txm.objects.Project;
 import org.txm.rcp.editors.imports.ImportFormEditor;
 import org.txm.rcp.messages.TXMUIMessages;
@@ -118,13 +118,11 @@
 		btnSelectAnnotate = toolkit.createButton(sectionClient, TXMUIMessages.lemmatizeTheCorpus, SWT.CHECK);
 		toolkit.createLabel(sectionClient, ""); //$NON-NLS-1$
 		
-		EnginesManager<? extends Engine> ema = Toolbox.getEngineManager(EngineType.ANNOTATION);
+		EnginesManager<? extends Engine> ema = Toolbox.getEngineManager(EngineType.NLP);
 		ArrayList<String> engines = new ArrayList<>();
 		for (String engine : ema.getEngines().keySet()) {
-			AnnotationEngine e = (AnnotationEngine) ema.getEngine(engine);
-			if (e.isAutomatic()) {
-				engines.add(engine);
-			}
+			NLPEngine e = (NLPEngine) ema.getEngine(engine);
+			engines.add(engine);
 		}
 		if (engines.size() > 1) {
 			
Index: TXM/trunk/bundles/org.txm.rcp/META-INF/MANIFEST.MF
===================================================================
--- TXM/trunk/bundles/org.txm.rcp/META-INF/MANIFEST.MF	(revision 4021)
+++ TXM/trunk/bundles/org.txm.rcp/META-INF/MANIFEST.MF	(revision 4022)
@@ -160,7 +160,8 @@
  org.eclipse.e4.ui.widgets;bundle-version="1.3.0";visibility:=reexport,
  org.eclipse.e4.ui.workbench.addons.swt;bundle-version="1.4.400";visibility:=reexport,
  org.eclipse.e4.ui.workbench.swt;bundle-version="0.16.600";visibility:=reexport,
- org.eclipse.debug.core;bundle-version="3.20.0";visibility:=reexport
+ org.eclipse.debug.core;bundle-version="3.20.0";visibility:=reexport,
+ org.txm.nlp.core;visibility:=reexport
 Bundle-ActivationPolicy: lazy
 Bundle-ManifestVersion: 2
 Bundle-Activator: org.txm.rcp.Activator
Index: TXM/trunk/bundles/org.txm.udpipe.core/META-INF/MANIFEST.MF
===================================================================
--- TXM/trunk/bundles/org.txm.udpipe.core/META-INF/MANIFEST.MF	(revision 4021)
+++ TXM/trunk/bundles/org.txm.udpipe.core/META-INF/MANIFEST.MF	(revision 4022)
@@ -4,7 +4,7 @@
 Bundle-SymbolicName: org.txm.udpipe.core;singleton:=true
 Bundle-Version: 1.0.0.qualifier
 Require-Bundle: org.txm.libs.udpipe;bundle-version="1.0.0";visibility:=reexport,
- org.txm.annotation.core;bundle-version="1.0.0";visibility:=reexport
+ org.txm.nlp.core;bundle-version="1.0.0"
 BBundle-RequiredExecutionEnvironment: JavaSE-10
 Automatic-Module-Name: org.txm.udpipe.core
 Bundle-ActivationPolicy: lazy
Index: TXM/trunk/bundles/org.txm.udpipe.core/src/org/txm/udpipe/core/UDPipeEngine.java
===================================================================
--- TXM/trunk/bundles/org.txm.udpipe.core/src/org/txm/udpipe/core/UDPipeEngine.java	(revision 4021)
+++ TXM/trunk/bundles/org.txm.udpipe.core/src/org/txm/udpipe/core/UDPipeEngine.java	(revision 4022)
@@ -11,8 +11,8 @@
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.osgi.util.NLS;
 import org.osgi.framework.Bundle;
-import org.txm.annotation.core.AnnotationEngine;
 import org.txm.core.results.TXMResult;
+import org.txm.nlp.core.NLPEngine;
 import org.txm.objects.CorpusBuild;
 import org.txm.tokenizer.StringTokenizer;
 import org.txm.utils.BundleUtils;
@@ -30,7 +30,7 @@
 import cz.cuni.mff.ufal.udpipe.udpipe_java;
 
 
-public class UDPipeEngine extends AnnotationEngine {
+public class UDPipeEngine extends NLPEngine {
 	
 	public static final String XMLIDMISC = "XmlID=";
 	
@@ -103,16 +103,6 @@
 		return "UDPipe";
 	}
 	
-	@Override
-	public boolean isAutomatic() {
-		return true;
-	}
-	
-	@Override
-	public boolean hasAnnotationsToSave(CorpusBuild corpus) {
-		return false;
-	}
-	
 	/**
 	 * the UD property suffixes, will be used to create the CQP properties like propertiesPrefix + suffix
 	 */
Index: TXM/trunk/bundles/org.txm.annotation.core/src/org/txm/annotation/core/AnnotationEngine.java
===================================================================
--- TXM/trunk/bundles/org.txm.annotation.core/src/org/txm/annotation/core/AnnotationEngine.java	(revision 4021)
+++ TXM/trunk/bundles/org.txm.annotation.core/src/org/txm/annotation/core/AnnotationEngine.java	(revision 4022)
@@ -1,19 +1,8 @@
 package org.txm.annotation.core;
 
-import java.io.File;
-import java.io.FileFilter;
-import java.util.HashMap;
-import java.util.List;
-
-import org.eclipse.osgi.util.NLS;
 import org.txm.core.engines.Engine;
 import org.txm.core.results.TXMResult;
 import org.txm.objects.CorpusBuild;
-import org.txm.tokenizer.SimpleStringTokenizer;
-import org.txm.tokenizer.StringTokenizer;
-import org.txm.utils.ConsoleProgressBar;
-import org.txm.utils.DeleteDir;
-import org.txm.utils.logger.Log;
 
 public abstract class AnnotationEngine implements Engine {
 	
@@ -24,76 +13,10 @@
 	
 	/**
 	 * 
-	 * @return true if the Annotation Engine can be used in the "importer" step of import modules
-	 */
-	public abstract boolean isAutomatic();
-	
-	/**
-	 * 
 	 * @return true if the Annotation Engine has some annotations not saved (that will be lost if not saved)
 	 */
 	public abstract boolean hasAnnotationsToSave(CorpusBuild corpus);
 		
-	/**
-	 * 
-	 * @return a StringTokenizer, override this method if the engine needs a speciq tokenization
-	 * @throws Exception
-	 */
-	public StringTokenizer getStringTokenizer(String lang) throws Exception {
-		return null;
-	}
-	
-	/**
-	 * Automatically annotate a XML-TXM file
-	 * 
-	 * @param xmlFile to annotate
-	 * @param binaryCorpusDirectory
-	 * @param parameters
-	 * @return
-	 */
-	public abstract boolean processFile(File xmlFile, File binaryCorpusDirectory, HashMap<String, Object> parameters);
-	
-	/**
-	 * 
-	 * @param xmlFilesDirectory contains the *.xml files to process
-	 * @param binaryCorpusDirectory the output directory
-	 * @param parameters ["lang": model_file_name_without_extension]
-	 * @return
-	 */
-	public boolean processDirectory(File xmlFilesDirectory, File binaryCorpusDirectory, HashMap<String, Object> parameters) {
-		File[] files = xmlFilesDirectory.listFiles(new FileFilter() {
-			
-			@Override
-			public boolean accept(File pathname) {
-				return pathname.isFile() && !pathname.isHidden() && !pathname.getName().startsWith(".") && pathname.getName().endsWith(".xml"); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		});
-		if (files == null || files.length == 0) {
-			Log.warning(NLS.bind(Messages.ErrorNoSuitableFileToProcessInP0, xmlFilesDirectory));
-			return false;
-		}
-		boolean ret = true;
-		ConsoleProgressBar cpb = new ConsoleProgressBar(files.length);
-		
-		File annotDir = new File(binaryCorpusDirectory, "annotations"); //$NON-NLS-1$
-		DeleteDir.deleteDirectory(annotDir);
-		annotDir.mkdir();
-		File ptreetaggerDir = new File(binaryCorpusDirectory, "ptreetagger"); //$NON-NLS-1$
-		DeleteDir.deleteDirectory(ptreetaggerDir);
-		ptreetaggerDir.mkdir();
-		File treetaggerDir = new File(binaryCorpusDirectory, "treetagger"); //$NON-NLS-1$
-		DeleteDir.deleteDirectory(treetaggerDir);
-		treetaggerDir.mkdir();
-		
-		for (File xmlFile : files) {
-			ret = processFile(xmlFile, binaryCorpusDirectory, parameters) && ret;
-			
-			cpb.tick();
-		}
-		cpb.done();
-		return ret;
-	}
-	
 	public String hasAdditionalDetailsForResult(TXMResult result) {
 		return null;
 	}
Index: TXM/trunk/bundles/org.txm.analec.rcp/src/org/txm/annotation/urs/URSCorpora.java
===================================================================
--- TXM/trunk/bundles/org.txm.analec.rcp/src/org/txm/annotation/urs/URSCorpora.java	(revision 4021)
+++ TXM/trunk/bundles/org.txm.analec.rcp/src/org/txm/annotation/urs/URSCorpora.java	(revision 4022)
@@ -263,20 +263,8 @@
 	public String getName() {
 		return "URS"; //$NON-NLS-1$
 	}
-	
-	@Override
-	public boolean isAutomatic() {
 		
-		return false;
-	}
-	
 	@Override
-	public boolean processFile(File xmlFile, File binaryCorpusDirectory, HashMap<String, Object> parameters) {
-		
-		return false;
-	}
-	
-	@Override
 	public String getDetails() {
 		
 		return corpora.toString();
Index: TXM/trunk/features/org.txm.rcp.feature/feature.xml
===================================================================
--- TXM/trunk/features/org.txm.rcp.feature/feature.xml	(revision 4021)
+++ TXM/trunk/features/org.txm.rcp.feature/feature.xml	(revision 4022)
@@ -155,8 +155,9 @@
       <import plugin="org.eclipse.e4.ui.workbench.addons.swt" version="1.4.400" match="greaterOrEqual"/>
       <import plugin="org.eclipse.e4.ui.workbench.swt" version="0.16.600" match="greaterOrEqual"/>
       <import plugin="org.eclipse.debug.core" version="3.20.0" match="greaterOrEqual"/>
+      <import plugin="org.txm.rcp" version="0.8.3" match="greaterOrEqual"/>
       <import plugin="org.txm.core" version="0.8.3" match="greaterOrEqual"/>
-      <import plugin="org.txm.rcp" version="0.8.3" match="greaterOrEqual"/>
+      <import plugin="org.txm.nlp.core"/>
    </requires>
 
    <plugin
