diff --git a/build.gradle.kts b/build.gradle.kts
index 7810d31ee16be8aed0338be9eca4e75fd5f12b75..8e1dccd10b5bd3db959de7104ddbc8c049f20a1e 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -1,8 +1,8 @@
 import io.gitlab.arturbosch.detekt.Detekt
 import org.jetbrains.changelog.markdownToHTML
-import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
 import org.jetbrains.grammarkit.tasks.GenerateLexer
 import org.jetbrains.grammarkit.tasks.GenerateParser
+import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
 
 fun properties(key: String) = project.findProperty(key).toString()
 
@@ -119,7 +119,6 @@ tasks {
         purgeOldFiles = true
     }
 
-
     compileJava {
         dependsOn(generateGrammarLexer)
         dependsOn(generateGrammarParser)
diff --git a/src/main/grammar/Grammar.bnf b/src/main/grammar/Grammar.bnf
index d3a722a46ea0aa0227ac494321fca8425a40150e..5de306140c7aea29b0cc1fa45f6eb812fe8a9680 100644
--- a/src/main/grammar/Grammar.bnf
+++ b/src/main/grammar/Grammar.bnf
@@ -3,7 +3,7 @@
 
   extends="com.intellij.extapi.psi.ASTWrapperPsiElement"
 
-  psiClassPrefix="RelAstGrammar"
+  psiClassPrefix="Grammar"
   psiImplClassSuffix="Impl"
   psiPackage="org.jastadd.tooling.grammar.psi"
   psiImplPackage="org.jastadd.tooling.grammar.psi.impl"
@@ -12,10 +12,10 @@
   elementTypeClass="org.jastadd.tooling.grammar.psi.GrammarElementType"
   tokenTypeClass="org.jastadd.tooling.grammar.psi.GrammarTokenType"
 
-  psiImplUtilClass="org.jastadd.tooling.grammar.psi.impl.RelAstGrammarPsiImplUtil"
+  psiImplUtilClass="org.jastadd.tooling.grammar.psi.impl.GrammarPsiImplUtil"
 }
 
-relAstGrammarFile ::= comment* ((type_decl | relation) comment*)*
+GrammarFile ::= comment* ((type_decl | relation) comment*)*
 
 comment ::= (WHITESPACE | MULTILINECOMMENT | DOCCOMMENT | SINGLELINECOMMENT)
 
diff --git a/src/main/java/org/jastadd/tooling/aspect/parser/AspectParserDefinition.java b/src/main/java/org/jastadd/tooling/aspect/parser/AspectParserDefinition.java
index 55c9f55c72f05518bbe6b82ea84f161d091ce1f0..62cf3ab1de30577aaf7f4d84b3d5c253beeead3a 100644
--- a/src/main/java/org/jastadd/tooling/aspect/parser/AspectParserDefinition.java
+++ b/src/main/java/org/jastadd/tooling/aspect/parser/AspectParserDefinition.java
@@ -12,8 +12,8 @@ import com.intellij.psi.TokenType;
 import com.intellij.psi.tree.IFileElementType;
 import com.intellij.psi.tree.TokenSet;
 import org.jastadd.tooling.aspect.Aspect;
-import org.jastadd.tooling.aspect.psi.AspectFile;
 import org.jastadd.tooling.aspect.lexer.AspectLexerAdapter;
+import org.jastadd.tooling.aspect.psi.AspectFile;
 import org.jastadd.tooling.aspect.psi.AspectTypes;
 import org.jetbrains.annotations.NotNull;
 
diff --git a/src/main/java/org/jastadd/tooling/aspect/psi/AspectFile.java b/src/main/java/org/jastadd/tooling/aspect/psi/AspectFile.java
index 79158f2435b9b5c7b382945f78cfe1778c8e99cb..0b52749bf151f05c3674f5a86eece58421d4fdcc 100644
--- a/src/main/java/org/jastadd/tooling/aspect/psi/AspectFile.java
+++ b/src/main/java/org/jastadd/tooling/aspect/psi/AspectFile.java
@@ -1,8 +1,8 @@
 package org.jastadd.tooling.aspect.psi;
 
 import com.intellij.extapi.psi.PsiFileBase;
-  import com.intellij.openapi.fileTypes.FileType;
-  import com.intellij.psi.FileViewProvider;
+import com.intellij.openapi.fileTypes.FileType;
+import com.intellij.psi.FileViewProvider;
 import org.jastadd.tooling.aspect.Aspect;
 import org.jastadd.tooling.aspect.AttributeFileType;
 import org.jetbrains.annotations.NotNull;
diff --git a/src/main/java/org/jastadd/tooling/grammar/Grammar.java b/src/main/java/org/jastadd/tooling/grammar/Grammar.java
index c6865ecb5aa221dcb536e8fc5be71f5268e7a827..aa4a62717641aacad8fe7af00c7d5f28cc982d70 100644
--- a/src/main/java/org/jastadd/tooling/grammar/Grammar.java
+++ b/src/main/java/org/jastadd/tooling/grammar/Grammar.java
@@ -1,6 +1,8 @@
 package org.jastadd.tooling.grammar;
 
-public class Grammar extends com.intellij.lang.Language {
+import com.intellij.lang.Language;
+
+public class Grammar extends Language {
 
   public static final Grammar INSTANCE = new Grammar();
 
diff --git a/src/main/java/org/jastadd/tooling/grammar/GrammarAnnotator.java b/src/main/java/org/jastadd/tooling/grammar/GrammarAnnotator.java
index a64502800b7373ca891c1fed67443f82d87de52a..67973459c048ce172a6698f080e7c46ecb1678f5 100644
--- a/src/main/java/org/jastadd/tooling/grammar/GrammarAnnotator.java
+++ b/src/main/java/org/jastadd/tooling/grammar/GrammarAnnotator.java
@@ -3,20 +3,21 @@ package org.jastadd.tooling.grammar;
 
 import com.intellij.codeInspection.ProblemHighlightType;
 import com.intellij.lang.annotation.AnnotationHolder;
+import com.intellij.lang.annotation.Annotator;
 import com.intellij.lang.annotation.HighlightSeverity;
 import com.intellij.openapi.editor.DefaultLanguageHighlighterColors;
 import com.intellij.psi.PsiElement;
-import org.jastadd.tooling.grammar.psi.RelAstGrammarComponent;
-import org.jastadd.tooling.grammar.psi.RelAstGrammarTypeReference;
+import org.jastadd.tooling.grammar.psi.GrammarComponent;
+import org.jastadd.tooling.grammar.psi.GrammarTypeReference;
 import org.jetbrains.annotations.NotNull;
 
-public class GrammarAnnotator implements com.intellij.lang.annotation.Annotator {
+public class GrammarAnnotator implements Annotator {
 
   @Override
   public void annotate(@NotNull final PsiElement element, @NotNull AnnotationHolder holder) {
 
-    if (element instanceof RelAstGrammarComponent) {
-      RelAstGrammarComponent component = (RelAstGrammarComponent) element;
+    if (element instanceof GrammarComponent) {
+      GrammarComponent component = (GrammarComponent) element;
       if (component.getTypeReference() != null && component.getDeclaredName() != null) {
         String name = component.getDeclaredName().getText();
         if (name != null && !name.equals("") && name.equals(component.getTypeReference().getName())) {
@@ -29,8 +30,8 @@ public class GrammarAnnotator implements com.intellij.lang.annotation.Annotator
             .create();
         }
       }
-    } else if (element instanceof RelAstGrammarTypeReference) {
-      RelAstGrammarTypeReference reference = (RelAstGrammarTypeReference) element;
+    } else if (element instanceof GrammarTypeReference) {
+      GrammarTypeReference reference = (GrammarTypeReference) element;
       if (GrammarUtil.findTypeDecl(element.getProject(), reference.getName()).isEmpty()) {
         holder.newAnnotation(HighlightSeverity.ERROR, "Undefined reference")
           .range(element.getTextRange())
diff --git a/src/main/java/org/jastadd/tooling/grammar/GrammarBlock.java b/src/main/java/org/jastadd/tooling/grammar/GrammarBlock.java
index 825a9e6d4610a05960ed3365266e98d466bf668b..8dffa81c4323d72b88fcb0403ab967e1f7e93948 100644
--- a/src/main/java/org/jastadd/tooling/grammar/GrammarBlock.java
+++ b/src/main/java/org/jastadd/tooling/grammar/GrammarBlock.java
@@ -22,12 +22,12 @@ public class GrammarBlock extends AbstractBlock {
   }
 
   @Override
-  protected List<com.intellij.formatting.Block> buildChildren() {
-    List<com.intellij.formatting.Block> blocks = new ArrayList<>();
+  protected List<Block> buildChildren() {
+    List<Block> blocks = new ArrayList<>();
     ASTNode child = myNode.getFirstChildNode();
     while (child != null) {
       if (child.getElementType() != TokenType.WHITE_SPACE) {
-        com.intellij.formatting.Block block = new GrammarBlock(child, Wrap.createWrap(WrapType.NONE, false), Alignment.createAlignment(),
+        Block block = new GrammarBlock(child, Wrap.createWrap(WrapType.NONE, false), Alignment.createAlignment(),
           spacingBuilder);
         blocks.add(block);
       }
@@ -43,7 +43,7 @@ public class GrammarBlock extends AbstractBlock {
 
   @Nullable
   @Override
-  public Spacing getSpacing(@Nullable com.intellij.formatting.Block child1, @NotNull com.intellij.formatting.Block child2) {
+  public Spacing getSpacing(@Nullable Block child1, @NotNull Block child2) {
     return spacingBuilder.getSpacing(this, child1, child2);
   }
 
diff --git a/src/main/java/org/jastadd/tooling/grammar/GrammarChooseByNameContributor.java b/src/main/java/org/jastadd/tooling/grammar/GrammarChooseByNameContributor.java
index 61f5d1a6fdecc4c0edfd3fd7690c218e4092538f..972038e20013dd367a138c5f42546301843a3235 100644
--- a/src/main/java/org/jastadd/tooling/grammar/GrammarChooseByNameContributor.java
+++ b/src/main/java/org/jastadd/tooling/grammar/GrammarChooseByNameContributor.java
@@ -1,21 +1,22 @@
 package org.jastadd.tooling.grammar;
 
+import com.intellij.navigation.ChooseByNameContributor;
 import com.intellij.navigation.NavigationItem;
 import com.intellij.openapi.project.Project;
-import org.jastadd.tooling.grammar.psi.RelAstGrammarTypeDecl;
+import org.jastadd.tooling.grammar.psi.GrammarTypeDecl;
 import org.jetbrains.annotations.NotNull;
 
 import java.util.ArrayList;
 import java.util.List;
 
-public class GrammarChooseByNameContributor implements com.intellij.navigation.ChooseByNameContributor {
+public class GrammarChooseByNameContributor implements ChooseByNameContributor {
 
   @NotNull
   @Override
   public String @NotNull [] getNames(Project project, boolean includeNonProjectItems) {
-    List<RelAstGrammarTypeDecl> typeDecls = GrammarUtil.findTypeDecl(project);
+    List<GrammarTypeDecl> typeDecls = GrammarUtil.findTypeDecl(project);
     List<String> names = new ArrayList<>(typeDecls.size());
-    for (RelAstGrammarTypeDecl typeDecl : typeDecls) {
+    for (GrammarTypeDecl typeDecl : typeDecls) {
       if (typeDecl.getName() != null && typeDecl.getName().length() > 0) {
         names.add(typeDecl.getName());
       }
@@ -27,7 +28,7 @@ public class GrammarChooseByNameContributor implements com.intellij.navigation.C
   @Override
   public NavigationItem @NotNull [] getItemsByName(String name, String pattern, Project project, boolean includeNonProjectItems) {
     // TODO: include non project items
-    List<RelAstGrammarTypeDecl> typeDecls = GrammarUtil.findTypeDecl(project, name);
+    List<GrammarTypeDecl> typeDecls = GrammarUtil.findTypeDecl(project, name);
     return typeDecls.toArray(new NavigationItem[0]);
   }
 
diff --git a/src/main/java/org/jastadd/tooling/grammar/GrammarCodeStyleSettings.java b/src/main/java/org/jastadd/tooling/grammar/GrammarCodeStyleSettings.java
index 730401c71cf0dde4081192f755bf330eca46c01b..1d1e1fb0aa80a0cecaacb2ad9e12def1c41838c1 100644
--- a/src/main/java/org/jastadd/tooling/grammar/GrammarCodeStyleSettings.java
+++ b/src/main/java/org/jastadd/tooling/grammar/GrammarCodeStyleSettings.java
@@ -1,12 +1,12 @@
 package org.jastadd.tooling.grammar;
 
 import com.intellij.psi.codeStyle.CodeStyleSettings;
-  import com.intellij.psi.codeStyle.CustomCodeStyleSettings;
+import com.intellij.psi.codeStyle.CustomCodeStyleSettings;
 
 public class GrammarCodeStyleSettings extends CustomCodeStyleSettings {
 
   public GrammarCodeStyleSettings(CodeStyleSettings settings) {
-    super("RelAstGrammarCodeStyleSettings", settings);
+    super("GrammarCodeStyleSettings", settings);
   }
 
 }
diff --git a/src/main/java/org/jastadd/tooling/grammar/GrammarCodeStyleSettingsProvider.java b/src/main/java/org/jastadd/tooling/grammar/GrammarCodeStyleSettingsProvider.java
index 1f5150ade7e64e6a74b1d4e05f5a188c12dc9e5c..b41b930703d7c7bafd91c80687edc0c3aa2b28e0 100644
--- a/src/main/java/org/jastadd/tooling/grammar/GrammarCodeStyleSettingsProvider.java
+++ b/src/main/java/org/jastadd/tooling/grammar/GrammarCodeStyleSettingsProvider.java
@@ -1,14 +1,14 @@
 package org.jastadd.tooling.grammar;
 
 import com.intellij.application.options.CodeStyleAbstractConfigurable;
-  import com.intellij.application.options.CodeStyleAbstractPanel;
-  import com.intellij.application.options.TabbedLanguageCodeStylePanel;
-  import com.intellij.psi.codeStyle.CodeStyleConfigurable;
-  import com.intellij.psi.codeStyle.CodeStyleSettings;
-  import com.intellij.psi.codeStyle.CodeStyleSettingsProvider;
-  import com.intellij.psi.codeStyle.CustomCodeStyleSettings;
-  import org.jetbrains.annotations.NotNull;
-  import org.jetbrains.annotations.Nullable;
+import com.intellij.application.options.CodeStyleAbstractPanel;
+import com.intellij.application.options.TabbedLanguageCodeStylePanel;
+import com.intellij.psi.codeStyle.CodeStyleConfigurable;
+import com.intellij.psi.codeStyle.CodeStyleSettings;
+import com.intellij.psi.codeStyle.CodeStyleSettingsProvider;
+import com.intellij.psi.codeStyle.CustomCodeStyleSettings;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
 
 public class GrammarCodeStyleSettingsProvider extends CodeStyleSettingsProvider {
 
diff --git a/src/main/java/org/jastadd/tooling/grammar/GrammarCommenter.java b/src/main/java/org/jastadd/tooling/grammar/GrammarCommenter.java
index 641e230a25666067ff16e3a5af765098ff2e1be0..6d414e9f289db6597365e4f7fc6682b7a356af3d 100644
--- a/src/main/java/org/jastadd/tooling/grammar/GrammarCommenter.java
+++ b/src/main/java/org/jastadd/tooling/grammar/GrammarCommenter.java
@@ -2,7 +2,7 @@ package org.jastadd.tooling.grammar;
 
 
 import com.intellij.lang.Commenter;
-  import org.jetbrains.annotations.Nullable;
+import org.jetbrains.annotations.Nullable;
 
 public class GrammarCommenter implements Commenter {
 
diff --git a/src/main/java/org/jastadd/tooling/grammar/GrammarCompletionContributor.java b/src/main/java/org/jastadd/tooling/grammar/GrammarCompletionContributor.java
index d99a87af62575e278205a8ee3009f5a8ea3e2804..ee356908fe4ccce7cab89dec9c3fe41251744209 100644
--- a/src/main/java/org/jastadd/tooling/grammar/GrammarCompletionContributor.java
+++ b/src/main/java/org/jastadd/tooling/grammar/GrammarCompletionContributor.java
@@ -4,11 +4,11 @@ import com.intellij.codeInsight.completion.*;
 import com.intellij.codeInsight.lookup.LookupElementBuilder;
 import com.intellij.patterns.PlatformPatterns;
 import com.intellij.util.ProcessingContext;
-import org.jastadd.tooling.util.JastAddIcons;
 import org.jastadd.tooling.grammar.parser.GrammarTypes;
 import org.jastadd.tooling.grammar.psi.GrammarElementFactory;
-import org.jastadd.tooling.grammar.psi.RelAstGrammarTypeDecl;
-import org.jastadd.tooling.grammar.psi.RelAstGrammarTypeReference;
+import org.jastadd.tooling.grammar.psi.GrammarTypeDecl;
+import org.jastadd.tooling.grammar.psi.GrammarTypeReference;
+import org.jastadd.tooling.util.JastAddIcons;
 import org.jetbrains.annotations.NotNull;
 
 public class GrammarCompletionContributor extends CompletionContributor {
@@ -23,8 +23,8 @@ public class GrammarCompletionContributor extends CompletionContributor {
         public void addCompletions(@NotNull CompletionParameters parameters,
                                    @NotNull ProcessingContext context,
                                    @NotNull CompletionResultSet resultSet) {
-          for (RelAstGrammarTypeDecl decl : GrammarUtil.findTypeDecl(parameters.getPosition().getProject())) {
-            RelAstGrammarTypeReference ref = GrammarElementFactory.createTypeReference(parameters.getPosition().getProject(), decl.getName());
+          for (GrammarTypeDecl decl : GrammarUtil.findTypeDecl(parameters.getPosition().getProject())) {
+            GrammarTypeReference ref = GrammarElementFactory.createTypeReference(parameters.getPosition().getProject(), decl.getName());
             resultSet.addElement(LookupElementBuilder.create(ref).withIcon(JastAddIcons.FILE).withTypeText(decl.getContainingFile().getName()));
           }
         }
diff --git a/src/main/java/org/jastadd/tooling/grammar/GrammarFindUsageProvider.java b/src/main/java/org/jastadd/tooling/grammar/GrammarFindUsageProvider.java
index 0cad9c8561c15f80cb11b57c0054394a1293d00c..a7c25433778e453ef234807e047eec3bdceca271 100644
--- a/src/main/java/org/jastadd/tooling/grammar/GrammarFindUsageProvider.java
+++ b/src/main/java/org/jastadd/tooling/grammar/GrammarFindUsageProvider.java
@@ -7,7 +7,7 @@ import com.intellij.psi.PsiElement;
 import com.intellij.psi.tree.TokenSet;
 import org.jastadd.tooling.grammar.lexer.GrammarLexerAdapter;
 import org.jastadd.tooling.grammar.parser.GrammarTypes;
-import org.jastadd.tooling.grammar.psi.RelAstGrammarTypeDecl;
+import org.jastadd.tooling.grammar.psi.GrammarTypeDecl;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -25,7 +25,7 @@ public class GrammarFindUsageProvider implements FindUsagesProvider {
 
   @Override
   public boolean canFindUsagesFor(@NotNull PsiElement psiElement) {
-    return psiElement instanceof RelAstGrammarTypeDecl; // was: PsiNamedElement
+    return psiElement instanceof GrammarTypeDecl; // was: PsiNamedElement
   }
 
   @Nullable
@@ -37,7 +37,7 @@ public class GrammarFindUsageProvider implements FindUsagesProvider {
   @NotNull
   @Override
   public String getType(@NotNull PsiElement element) {
-    if (element instanceof RelAstGrammarTypeDecl) {
+    if (element instanceof GrammarTypeDecl) {
       return "JastAdd Nonterminal Type";
     } else {
       return "";
@@ -47,8 +47,8 @@ public class GrammarFindUsageProvider implements FindUsagesProvider {
   @NotNull
   @Override
   public String getDescriptiveName(@NotNull PsiElement element) {
-    if (element instanceof RelAstGrammarTypeDecl) {
-      RelAstGrammarTypeDecl decl = (RelAstGrammarTypeDecl) element;
+    if (element instanceof GrammarTypeDecl) {
+      GrammarTypeDecl decl = (GrammarTypeDecl) element;
       if (decl.getName() != null) {
         return decl.getName();
       }
@@ -59,7 +59,7 @@ public class GrammarFindUsageProvider implements FindUsagesProvider {
   @NotNull
   @Override
   public String getNodeText(@NotNull PsiElement element, boolean useFullName) {
-    if (element instanceof RelAstGrammarTypeDecl) {
+    if (element instanceof GrammarTypeDecl) {
       return element.getText();
     } else {
       return "";
diff --git a/src/main/java/org/jastadd/tooling/grammar/GrammarLanguageCodeStyleSettingsProvider.java b/src/main/java/org/jastadd/tooling/grammar/GrammarLanguageCodeStyleSettingsProvider.java
index 49212b1eb271f9992e2554bfbf43997e6f5f85f6..06f77cbed468b5e51b388ed13d0748605dde44be 100644
--- a/src/main/java/org/jastadd/tooling/grammar/GrammarLanguageCodeStyleSettingsProvider.java
+++ b/src/main/java/org/jastadd/tooling/grammar/GrammarLanguageCodeStyleSettingsProvider.java
@@ -1,5 +1,6 @@
 package org.jastadd.tooling.grammar;
 
+import com.intellij.lang.Language;
 import com.intellij.psi.codeStyle.CodeStyleSettingsCustomizable;
 import com.intellij.psi.codeStyle.LanguageCodeStyleSettingsProvider;
 import org.jetbrains.annotations.NotNull;
@@ -8,7 +9,7 @@ public class GrammarLanguageCodeStyleSettingsProvider extends LanguageCodeStyleS
 
   @NotNull
   @Override
-  public com.intellij.lang.Language getLanguage() {
+  public Language getLanguage() {
     return Grammar.INSTANCE;
   }
 
diff --git a/src/main/java/org/jastadd/tooling/grammar/GrammarLineMarkerProvider.java b/src/main/java/org/jastadd/tooling/grammar/GrammarLineMarkerProvider.java
index 47b14ea988e752a37daf072021548c005a0aefb2..169e72996d265f3e821121eb368287295823b17b 100644
--- a/src/main/java/org/jastadd/tooling/grammar/GrammarLineMarkerProvider.java
+++ b/src/main/java/org/jastadd/tooling/grammar/GrammarLineMarkerProvider.java
@@ -6,8 +6,8 @@ import com.intellij.codeInsight.navigation.NavigationGutterIconBuilder;
 import com.intellij.psi.PsiClass;
 import com.intellij.psi.PsiElement;
 import com.intellij.psi.PsiIdentifier;
+import org.jastadd.tooling.grammar.psi.GrammarTypeDecl;
 import org.jastadd.tooling.util.JastAddIcons;
-import org.jastadd.tooling.grammar.psi.RelAstGrammarTypeDecl;
 import org.jetbrains.annotations.NotNull;
 
 import java.util.Collection;
@@ -33,7 +33,7 @@ public class GrammarLineMarkerProvider extends RelatedItemLineMarkerProvider {
     }
 
     // Get the list of typeDecls for given key
-    List<RelAstGrammarTypeDecl> typeDecls = GrammarUtil.findTypeDecl(element.getProject(), classOptional.get().getName());
+    List<GrammarTypeDecl> typeDecls = GrammarUtil.findTypeDecl(element.getProject(), classOptional.get().getName());
     if (!typeDecls.isEmpty()) {
       NavigationGutterIconBuilder<PsiElement> builder =
         NavigationGutterIconBuilder.create(JastAddIcons.FILE)
diff --git a/src/main/java/org/jastadd/tooling/grammar/GrammarRefactoringSupportProvider.java b/src/main/java/org/jastadd/tooling/grammar/GrammarRefactoringSupportProvider.java
index dfff3bf8dad02d91548b449268a4a323a2cb5159..1e70ce549ffe5b03a1befa41a162fb785ad77224 100644
--- a/src/main/java/org/jastadd/tooling/grammar/GrammarRefactoringSupportProvider.java
+++ b/src/main/java/org/jastadd/tooling/grammar/GrammarRefactoringSupportProvider.java
@@ -3,8 +3,8 @@ package org.jastadd.tooling.grammar;
 
 import com.intellij.lang.refactoring.RefactoringSupportProvider;
 import com.intellij.psi.PsiElement;
-import org.jastadd.tooling.grammar.psi.RelAstGrammarDeclaredName;
-import org.jastadd.tooling.grammar.psi.RelAstGrammarTypeReference;
+import org.jastadd.tooling.grammar.psi.GrammarDeclaredName;
+import org.jastadd.tooling.grammar.psi.GrammarTypeReference;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -14,7 +14,7 @@ public class GrammarRefactoringSupportProvider extends RefactoringSupportProvide
   public boolean isMemberInplaceRenameAvailable(@NotNull PsiElement elementToRename, @Nullable PsiElement context) {
     // in-place rename is still not available since not all requirements are met
     // see https://intellij-support.jetbrains.com/hc/en-us/community/posts/360006918740-How-do-I-enable-in-place-rename-Renaming-via-dialog-works-fine-
-    return (elementToRename instanceof RelAstGrammarDeclaredName) || (elementToRename instanceof RelAstGrammarTypeReference);
+    return (elementToRename instanceof GrammarDeclaredName) || (elementToRename instanceof GrammarTypeReference);
   }
 
 }
diff --git a/src/main/java/org/jastadd/tooling/grammar/GrammarReference.java b/src/main/java/org/jastadd/tooling/grammar/GrammarReference.java
index 2cfaafa7abc8a0f072d8018c0aefb08db78ce3c2..3c6fc4b3afa6eb1eebe986362d90a88234f2f571 100644
--- a/src/main/java/org/jastadd/tooling/grammar/GrammarReference.java
+++ b/src/main/java/org/jastadd/tooling/grammar/GrammarReference.java
@@ -5,8 +5,8 @@ import com.intellij.codeInsight.lookup.LookupElementBuilder;
 import com.intellij.openapi.project.Project;
 import com.intellij.openapi.util.TextRange;
 import com.intellij.psi.*;
+import org.jastadd.tooling.grammar.psi.GrammarTypeDecl;
 import org.jastadd.tooling.util.JastAddIcons;
-import org.jastadd.tooling.grammar.psi.RelAstGrammarTypeDecl;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -26,9 +26,9 @@ public class GrammarReference extends PsiReferenceBase<PsiElement> implements Ps
   @Override
   public ResolveResult @NotNull [] multiResolve(boolean incompleteCode) {
     Project project = myElement.getProject();
-    final List<RelAstGrammarTypeDecl> typeDecls = GrammarUtil.findTypeDecl(project, key);
+    final List<GrammarTypeDecl> typeDecls = GrammarUtil.findTypeDecl(project, key);
     List<ResolveResult> results = new ArrayList<>();
-    for (RelAstGrammarTypeDecl typeDecl : typeDecls) {
+    for (GrammarTypeDecl typeDecl : typeDecls) {
       results.add(new PsiElementResolveResult(typeDecl));
     }
     return results.toArray(new ResolveResult[0]);
@@ -45,9 +45,9 @@ public class GrammarReference extends PsiReferenceBase<PsiElement> implements Ps
   @Override
   public Object @NotNull [] getVariants() {
     Project project = myElement.getProject();
-    List<RelAstGrammarTypeDecl> typeDecls = GrammarUtil.findTypeDecl(project);
+    List<GrammarTypeDecl> typeDecls = GrammarUtil.findTypeDecl(project);
     List<LookupElement> variants = new ArrayList<>();
-    for (final RelAstGrammarTypeDecl typeDecl : typeDecls) {
+    for (final GrammarTypeDecl typeDecl : typeDecls) {
       if (typeDecl.getName() != null && typeDecl.getName().length() > 0) {
         variants.add(LookupElementBuilder
           .create(typeDecl).withIcon(JastAddIcons.FILE)
diff --git a/src/main/java/org/jastadd/tooling/grammar/GrammarReferenceContributor.java b/src/main/java/org/jastadd/tooling/grammar/GrammarReferenceContributor.java
index 99ec1b2f55a8bee80f1cba535f8616671cdaf98c..728058c2095b0c858788183b68779f0c64235d59 100644
--- a/src/main/java/org/jastadd/tooling/grammar/GrammarReferenceContributor.java
+++ b/src/main/java/org/jastadd/tooling/grammar/GrammarReferenceContributor.java
@@ -4,21 +4,21 @@ import com.intellij.openapi.util.TextRange;
 import com.intellij.patterns.PlatformPatterns;
 import com.intellij.psi.*;
 import com.intellij.util.ProcessingContext;
-import org.jastadd.tooling.grammar.psi.RelAstGrammarTypeReference;
+import org.jastadd.tooling.grammar.psi.GrammarTypeReference;
 import org.jetbrains.annotations.NotNull;
 
 public class GrammarReferenceContributor extends PsiReferenceContributor {
 
   @Override
   public void registerReferenceProviders(@NotNull PsiReferenceRegistrar registrar) {
-    registrar.registerReferenceProvider(PlatformPatterns.psiElement(RelAstGrammarTypeReference.class),
+    registrar.registerReferenceProvider(PlatformPatterns.psiElement(GrammarTypeReference.class),
       new PsiReferenceProvider() {
         @NotNull
         @Override
         public PsiReference @NotNull [] getReferencesByElement(@NotNull PsiElement element,
                                                                @NotNull ProcessingContext context) {
 
-          RelAstGrammarTypeReference typeReference = (RelAstGrammarTypeReference) element;
+          GrammarTypeReference typeReference = (GrammarTypeReference) element;
           String value = typeReference.getText();
           if (value != null) {
             TextRange range = new TextRange(0, value.length());
diff --git a/src/main/java/org/jastadd/tooling/grammar/GrammarRemoveRedundantComponentNameFix.java b/src/main/java/org/jastadd/tooling/grammar/GrammarRemoveRedundantComponentNameFix.java
index 25bf8d1346a36eac5613f3fb7df4f6e632a4cf4b..b906a768ff0caa222424459a692b38577c53e7e5 100644
--- a/src/main/java/org/jastadd/tooling/grammar/GrammarRemoveRedundantComponentNameFix.java
+++ b/src/main/java/org/jastadd/tooling/grammar/GrammarRemoveRedundantComponentNameFix.java
@@ -7,14 +7,14 @@ import com.intellij.psi.PsiElement;
 import com.intellij.psi.PsiFile;
 import com.intellij.util.IncorrectOperationException;
 import org.jastadd.tooling.grammar.parser.GrammarTypes;
-import org.jastadd.tooling.grammar.psi.RelAstGrammarComponent;
+import org.jastadd.tooling.grammar.psi.GrammarComponent;
 import org.jetbrains.annotations.NotNull;
 
 public class GrammarRemoveRedundantComponentNameFix extends BaseIntentionAction {
 
-  private final RelAstGrammarComponent component;
+  private final GrammarComponent component;
 
-  public GrammarRemoveRedundantComponentNameFix(RelAstGrammarComponent component) {
+  public GrammarRemoveRedundantComponentNameFix(GrammarComponent component) {
     this.component = component;
   }
 
diff --git a/src/main/java/org/jastadd/tooling/grammar/GrammarStructureViewElement.java b/src/main/java/org/jastadd/tooling/grammar/GrammarStructureViewElement.java
index e0bf0348ceb82a311e22d481b5688608964865a3..013f45038624795ea4abcc49e9fa534ac8ceb7b1 100644
--- a/src/main/java/org/jastadd/tooling/grammar/GrammarStructureViewElement.java
+++ b/src/main/java/org/jastadd/tooling/grammar/GrammarStructureViewElement.java
@@ -8,8 +8,8 @@ import com.intellij.navigation.ItemPresentation;
 import com.intellij.psi.NavigatablePsiElement;
 import com.intellij.psi.util.PsiTreeUtil;
 import org.jastadd.tooling.grammar.psi.GrammarFile;
-import org.jastadd.tooling.grammar.psi.RelAstGrammarTypeDecl;
-import org.jastadd.tooling.grammar.psi.impl.RelAstGrammarTypeDeclImpl;
+import org.jastadd.tooling.grammar.psi.GrammarTypeDecl;
+import org.jastadd.tooling.grammar.psi.impl.GrammarTypeDeclImpl;
 import org.jetbrains.annotations.NotNull;
 
 import java.util.ArrayList;
@@ -61,10 +61,10 @@ public class GrammarStructureViewElement implements StructureViewTreeElement, So
   @Override
   public TreeElement @NotNull [] getChildren() {
     if (myElement instanceof GrammarFile) {
-      List<RelAstGrammarTypeDecl> properties = PsiTreeUtil.getChildrenOfTypeAsList(myElement, RelAstGrammarTypeDecl.class);
+      List<GrammarTypeDecl> properties = PsiTreeUtil.getChildrenOfTypeAsList(myElement, GrammarTypeDecl.class);
       List<TreeElement> treeElements = new ArrayList<>(properties.size());
-      for (RelAstGrammarTypeDecl property : properties) {
-        treeElements.add(new GrammarStructureViewElement((RelAstGrammarTypeDeclImpl) property));
+      for (GrammarTypeDecl property : properties) {
+        treeElements.add(new GrammarStructureViewElement((GrammarTypeDeclImpl) property));
       }
       return treeElements.toArray(new TreeElement[0]);
     }
diff --git a/src/main/java/org/jastadd/tooling/grammar/GrammarUtil.java b/src/main/java/org/jastadd/tooling/grammar/GrammarUtil.java
index 7f32eba9acf7d9be0d9c82045df9670ec33db571..9c4f0cfaef630597f805789cc6061adca844382e 100644
--- a/src/main/java/org/jastadd/tooling/grammar/GrammarUtil.java
+++ b/src/main/java/org/jastadd/tooling/grammar/GrammarUtil.java
@@ -10,7 +10,7 @@ import com.intellij.psi.search.FileTypeIndex;
 import com.intellij.psi.search.GlobalSearchScope;
 import com.intellij.psi.util.PsiTreeUtil;
 import org.jastadd.tooling.grammar.psi.GrammarFile;
-import org.jastadd.tooling.grammar.psi.RelAstGrammarTypeDecl;
+import org.jastadd.tooling.grammar.psi.GrammarTypeDecl;
 import org.jetbrains.annotations.NotNull;
 
 import java.util.*;
@@ -30,17 +30,17 @@ public class GrammarUtil {
    * @param name    to check
    * @return matching TypeDecls
    */
-  public static List<RelAstGrammarTypeDecl> findTypeDecl(Project project, String name) {
-    List<RelAstGrammarTypeDecl> result = new ArrayList<>();
+  public static List<GrammarTypeDecl> findTypeDecl(Project project, String name) {
+    List<GrammarTypeDecl> result = new ArrayList<>();
     Collection<VirtualFile> virtualFiles =
       FileTypeIndex.getFiles(GrammarFileType.INSTANCE, GlobalSearchScope.allScope(project));
     for (VirtualFile virtualFile : virtualFiles) {
       GrammarFile simpleFile = (GrammarFile) PsiManager.getInstance(project).findFile(virtualFile);
       if (simpleFile != null) {
         // TODO check if file is ignored or generated!
-        RelAstGrammarTypeDecl[] typeDecls = PsiTreeUtil.getChildrenOfType(simpleFile, RelAstGrammarTypeDecl.class);
+        GrammarTypeDecl[] typeDecls = PsiTreeUtil.getChildrenOfType(simpleFile, GrammarTypeDecl.class);
         if (typeDecls != null) {
-          for (RelAstGrammarTypeDecl typeDecl : typeDecls) {
+          for (GrammarTypeDecl typeDecl : typeDecls) {
             if (name.equals(typeDecl.getName())) {
               result.add(typeDecl);
             }
@@ -57,15 +57,15 @@ public class GrammarUtil {
    * @param project current project
    * @return all TypeDecls
    */
-  public static List<RelAstGrammarTypeDecl> findTypeDecl(Project project) {
-    List<RelAstGrammarTypeDecl> result = new ArrayList<>();
+  public static List<GrammarTypeDecl> findTypeDecl(Project project) {
+    List<GrammarTypeDecl> result = new ArrayList<>();
     Collection<VirtualFile> virtualFiles =
       FileTypeIndex.getFiles(GrammarFileType.INSTANCE, GlobalSearchScope.allScope(project));
     for (VirtualFile virtualFile : virtualFiles) {
       GrammarFile simpleFile = (GrammarFile) PsiManager.getInstance(project).findFile(virtualFile);
       if (simpleFile != null) {
         // TODO check if file is ignored or generated!
-        RelAstGrammarTypeDecl[] typeDecls = PsiTreeUtil.getChildrenOfType(simpleFile, RelAstGrammarTypeDecl.class);
+        GrammarTypeDecl[] typeDecls = PsiTreeUtil.getChildrenOfType(simpleFile, GrammarTypeDecl.class);
         if (typeDecls != null) {
           result.addAll(Arrays.asList(typeDecls));
         }
diff --git a/src/main/java/org/jastadd/tooling/grammar/parser/GrammarParserDefinition.java b/src/main/java/org/jastadd/tooling/grammar/parser/GrammarParserDefinition.java
index 03533b56174029b329ddc3dece081bfc7f2abf1b..5f2ee175e52ac39418bc94f0a50c2d5e80ade941 100644
--- a/src/main/java/org/jastadd/tooling/grammar/parser/GrammarParserDefinition.java
+++ b/src/main/java/org/jastadd/tooling/grammar/parser/GrammarParserDefinition.java
@@ -16,6 +16,7 @@ import org.jastadd.tooling.grammar.lexer.GrammarLexerAdapter;
 import org.jastadd.tooling.grammar.psi.GrammarFile;
 import org.jetbrains.annotations.NotNull;
 
+
 public class GrammarParserDefinition implements ParserDefinition {
 
   public static final TokenSet WHITE_SPACES = TokenSet.create(TokenType.WHITE_SPACE);
diff --git a/src/main/java/org/jastadd/tooling/grammar/psi/GrammarElementFactory.java b/src/main/java/org/jastadd/tooling/grammar/psi/GrammarElementFactory.java
index 3d080708d233e8d6ded5bb5c326de2c96b4b310c..05a33fa932d60b0c1651b986c91e9c163a95430a 100644
--- a/src/main/java/org/jastadd/tooling/grammar/psi/GrammarElementFactory.java
+++ b/src/main/java/org/jastadd/tooling/grammar/psi/GrammarElementFactory.java
@@ -13,14 +13,14 @@ public class GrammarElementFactory {
     throw new IllegalStateException("Utility class");
   }
 
-  public static RelAstGrammarDeclaredName createDeclaredName(Project project, String name) {
+  public static GrammarDeclaredName createDeclaredName(Project project, String name) {
     final GrammarFile file = createFile(project, name + ";");
-    return (RelAstGrammarDeclaredName) file.getFirstChild().getFirstChild();
+    return (GrammarDeclaredName) file.getFirstChild().getFirstChild();
   }
 
-  public static RelAstGrammarTypeReference createTypeReference(Project project, String name) {
+  public static GrammarTypeReference createTypeReference(Project project, String name) {
     final GrammarFile file = createFile(project, "X : " + name + ";");
-    return (RelAstGrammarTypeReference) (Objects.requireNonNull(file.getFirstChild().getNode().findChildByType(GrammarTypes.TYPE_REFERENCE)).getPsi());
+    return (GrammarTypeReference) (Objects.requireNonNull(file.getFirstChild().getNode().findChildByType(GrammarTypes.TYPE_REFERENCE)).getPsi());
   }
 
   public static GrammarFile createFile(Project project, String text) {
diff --git a/src/main/java/org/jastadd/tooling/grammar/psi/GrammarFile.java b/src/main/java/org/jastadd/tooling/grammar/psi/GrammarFile.java
index c2a13eb1d1ee0826f4fa51c53593a5b571ad42a5..513555d8081086a7e07a3d8d56b45500d674d463 100644
--- a/src/main/java/org/jastadd/tooling/grammar/psi/GrammarFile.java
+++ b/src/main/java/org/jastadd/tooling/grammar/psi/GrammarFile.java
@@ -1,6 +1,7 @@
 package org.jastadd.tooling.grammar.psi;
 
 import com.intellij.extapi.psi.PsiFileBase;
+import com.intellij.openapi.fileTypes.FileType;
 import com.intellij.psi.FileViewProvider;
 import org.jastadd.tooling.grammar.Grammar;
 import org.jastadd.tooling.grammar.GrammarFileType;
@@ -14,7 +15,7 @@ public class GrammarFile extends PsiFileBase {
 
   @NotNull
   @Override
-  public com.intellij.openapi.fileTypes.FileType getFileType() {
+  public FileType getFileType() {
     return GrammarFileType.INSTANCE;
   }
 
diff --git a/src/main/java/org/jastadd/tooling/grammar/psi/GrammarTokenType.java b/src/main/java/org/jastadd/tooling/grammar/psi/GrammarTokenType.java
index 19c91f42e019714e82755a8164b31e8be41cfea9..80b18d7e5da37544fbb13e24dcea8572331daf8c 100644
--- a/src/main/java/org/jastadd/tooling/grammar/psi/GrammarTokenType.java
+++ b/src/main/java/org/jastadd/tooling/grammar/psi/GrammarTokenType.java
@@ -13,7 +13,7 @@ public class GrammarTokenType extends IElementType {
 
   @Override
   public String toString() {
-    return "RelAstGrammarTokenType." + super.toString();
+    return "GrammarTokenType." + super.toString();
   }
 
 }
diff --git a/src/main/java/org/jastadd/tooling/grammar/psi/GrammarTypeReferenceManipulator.java b/src/main/java/org/jastadd/tooling/grammar/psi/GrammarTypeReferenceManipulator.java
index 4825b7d4bf6df99558c4116b98053307adf0ebf5..7ab2f70c6e8376f986224f54c36c08994fe70e80 100644
--- a/src/main/java/org/jastadd/tooling/grammar/psi/GrammarTypeReferenceManipulator.java
+++ b/src/main/java/org/jastadd/tooling/grammar/psi/GrammarTypeReferenceManipulator.java
@@ -7,7 +7,7 @@ import com.intellij.util.IncorrectOperationException;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
-public class GrammarTypeReferenceManipulator extends AbstractElementManipulator<RelAstGrammarTypeReference> implements ElementManipulator<RelAstGrammarTypeReference> {
+public class GrammarTypeReferenceManipulator extends AbstractElementManipulator<GrammarTypeReference> implements ElementManipulator<GrammarTypeReference> {
   /**
    * Changes the element's text to the given new text.
    *
@@ -19,9 +19,9 @@ public class GrammarTypeReferenceManipulator extends AbstractElementManipulator<
    */
   @Nullable
   @Override
-  public RelAstGrammarTypeReference handleContentChange(@NotNull RelAstGrammarTypeReference element, @NotNull TextRange range, String newContent) {
+  public GrammarTypeReference handleContentChange(@NotNull GrammarTypeReference element, @NotNull TextRange range, String newContent) {
     try {
-      return (RelAstGrammarTypeReference) element.setName(range.replace(element.getText(), newContent));
+      return (GrammarTypeReference) element.setName(range.replace(element.getText(), newContent));
     } catch (Exception e) { // e.g., in case the range is wrong
       throw new IncorrectOperationException(e);
     }
diff --git a/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarNamedElementImpl.java b/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarNamedElementImpl.java
index 8b96481da17abea2668844bb1a834a4dba79687b..377ff8179cbbdd378ee06ab5f62c7c45664d50cb 100644
--- a/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarNamedElementImpl.java
+++ b/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarNamedElementImpl.java
@@ -5,8 +5,8 @@ import com.intellij.lang.ASTNode;
 import com.intellij.navigation.ItemPresentation;
 import com.intellij.psi.PsiReference;
 import com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry;
-import org.jastadd.tooling.util.JastAddIcons;
 import org.jastadd.tooling.grammar.psi.GrammarNamedElement;
+import org.jastadd.tooling.util.JastAddIcons;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
diff --git a/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarTypeDeclImplExtension.java b/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarTypeDeclImplExtension.java
index 9bc6712fa99c2bbc1bb044ece2c95244c1bbe327..8df00b485a450166dae96f9b694d23c09b97ed54 100644
--- a/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarTypeDeclImplExtension.java
+++ b/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarTypeDeclImplExtension.java
@@ -3,9 +3,9 @@ package org.jastadd.tooling.grammar.psi.impl;
 import com.intellij.lang.ASTNode;
 import com.intellij.psi.PsiElement;
 import org.jastadd.tooling.grammar.parser.GrammarTypes;
-import org.jastadd.tooling.grammar.psi.GrammarTypeDeclExtension;
-import org.jastadd.tooling.grammar.psi.RelAstGrammarDeclaredName;
+import org.jastadd.tooling.grammar.psi.GrammarDeclaredName;
 import org.jastadd.tooling.grammar.psi.GrammarElementFactory;
+import org.jastadd.tooling.grammar.psi.GrammarTypeDeclExtension;
 import org.jetbrains.annotations.NotNull;
 
 public class GrammarTypeDeclImplExtension extends GrammarNamedElementImpl implements GrammarTypeDeclExtension {
@@ -27,7 +27,7 @@ public class GrammarTypeDeclImplExtension extends GrammarNamedElementImpl implem
   public PsiElement setName(@NotNull String newName) {
     ASTNode keyNode = getNode().findChildByType(GrammarTypes.DECLARED_NAME);
     if (keyNode != null) {
-      RelAstGrammarDeclaredName name = GrammarElementFactory.createDeclaredName(getProject(), newName);
+      GrammarDeclaredName name = GrammarElementFactory.createDeclaredName(getProject(), newName);
       ASTNode newKeyNode = name.getNode();
       getNode().replaceChild(keyNode, newKeyNode);
     }
diff --git a/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarTypeReferenceImplExtension.java b/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarTypeReferenceImplExtension.java
index 380fbc1d7804b94f97ba727de3647107287b45c5..495e20e17f1a30459b97257765e10ea10126de23 100644
--- a/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarTypeReferenceImplExtension.java
+++ b/src/main/java/org/jastadd/tooling/grammar/psi/impl/GrammarTypeReferenceImplExtension.java
@@ -3,8 +3,8 @@ package org.jastadd.tooling.grammar.psi.impl;
 import com.intellij.lang.ASTNode;
 import com.intellij.psi.PsiElement;
 import org.jastadd.tooling.grammar.psi.GrammarElementFactory;
+import org.jastadd.tooling.grammar.psi.GrammarTypeReference;
 import org.jastadd.tooling.grammar.psi.GrammarTypeReferenceExtension;
-import org.jastadd.tooling.grammar.psi.RelAstGrammarTypeReference;
 import org.jetbrains.annotations.NotNull;
 
 public class GrammarTypeReferenceImplExtension extends GrammarNamedElementImpl implements GrammarTypeReferenceExtension {
@@ -22,7 +22,7 @@ public class GrammarTypeReferenceImplExtension extends GrammarNamedElementImpl i
     // FIXME this can break the grammar when the type is used in an unnamed component (and in many other cases probably)
     ASTNode keyNode = getNode().getFirstChildNode();
     if (keyNode != null) {
-      RelAstGrammarTypeReference name = GrammarElementFactory.createTypeReference(getProject(), newName);
+      GrammarTypeReference name = GrammarElementFactory.createTypeReference(getProject(), newName);
       ASTNode newKeyNode = name.getNode().getFirstChildNode();
       getNode().replaceChild(keyNode, newKeyNode);
     }
diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml
index 9da0c36d2e3fdf311a753a4d6736218f31ffd93b..43ea39d21e55eef0f5175ca2aec8dac64a4a6af9 100644
--- a/src/main/resources/META-INF/plugin.xml
+++ b/src/main/resources/META-INF/plugin.xml
@@ -36,7 +36,7 @@
         <lang.refactoringSupport language="JastAddGrammar"
                                  implementationClass="org.jastadd.tooling.grammar.GrammarRefactoringSupportProvider"/>
 
-        <lang.elementManipulator forClass="org.jastadd.tooling.grammar.psi.RelAstGrammarTypeReference"
+        <lang.elementManipulator forClass="org.jastadd.tooling.grammar.psi.GrammarTypeReference"
                                  implementationClass="org.jastadd.tooling.grammar.psi.GrammarTypeReferenceManipulator"/>
 
 
diff --git a/src/main/resources/icons/jastadd.svg b/src/main/resources/icons/jastadd.svg
index 7dc548d169540cc791e35dba06da0d2c76be273e..34937dfa98890f97e751a941fc16f10b211a0d59 100644
--- a/src/main/resources/icons/jastadd.svg
+++ b/src/main/resources/icons/jastadd.svg
@@ -1,88 +1,87 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="16"
-   height="16"
-   id="svg4781"
-   version="1.1"
-   inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
-   sodipodi:docname="jastadd.svg"
-   inkscape:export-filename="/home/jesper/bzr/jastadd-research/logotype/jastadd_200px.png"
-   inkscape:export-xdpi="49.240002"
-   inkscape:export-ydpi="49.240002">
-  <defs
-     id="defs4783">
-    <inkscape:perspective
-       sodipodi:type="inkscape:persp3d"
-       inkscape:vp_x="0 : 454.65828 : 1"
-       inkscape:vp_y="0 : 1000 : 0"
-       inkscape:vp_z="744.09448 : 454.65828 : 1"
-       inkscape:persp3d-origin="372.04724 : 279.26458 : 1"
-       id="perspective4789" />
-    <inkscape:perspective
-       id="perspective4768"
-       inkscape:persp3d-origin="0.5 : -71.189479 : 1"
-       inkscape:vp_z="1 : -71.022812 : 1"
-       inkscape:vp_y="0 : 1000 : 0"
-       inkscape:vp_x="0 : -71.022812 : 1"
-       sodipodi:type="inkscape:persp3d" />
-  </defs>
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="31.678384"
-     inkscape:cx="24.626583"
-     inkscape:cy="16.669221"
-     inkscape:document-units="px"
-     inkscape:current-layer="layer1"
-     showgrid="false"
-     inkscape:window-width="2560"
-     inkscape:window-height="1406"
-     inkscape:window-x="0"
-     inkscape:window-y="18"
-     inkscape:window-maximized="1"
-     inkscape:document-rotation="0" />
-  <metadata
-     id="metadata4786">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer"
-     id="layer1"
-     transform="translate(-185.85624,-382.86389)">
-    <path
-       inkscape:tile-y0="331.74615"
-       inkscape:tile-x0="805.67645"
-       inkscape:tile-h="236.12934"
-       inkscape:tile-w="285.01443"
-       inkscape:tile-cy="449.81082"
-       inkscape:tile-cx="948.18366"
-       inkscape:export-ydpi="60.48"
-       inkscape:export-xdpi="60.48"
-       inkscape:export-filename="C:\Users\Jesper\Pictures\Inkscape\text4655.png"
-       id="path4837"
-       style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#e9830a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.413302;marker:none;enable-background:accumulate"
-       d="m 192.51835,398.49014 c 0.46797,0.0944 0.88748,0.12177 1.14886,-0.009 0.26139,-0.13045 0.31508,-0.16277 0.42235,-0.28982 0.10727,-0.12706 0.15312,-0.23676 0.19693,-0.40843 0.0439,-0.17165 0.0195,-0.81056 0.0139,-0.88117 -0.005,-0.0706 0.0467,-0.2021 0.0675,-0.25221 0.0389,-0.0938 0.11286,-0.19115 0.1589,-0.21643 0.0804,-0.0356 0.15378,-0.0646 0.37538,0.0176 0.27788,0.0832 1.36687,0.4716 1.9434,0.71318 0.45189,0.19675 0.81205,0.35613 0.94069,0.39718 0.20459,0.0701 0.25891,0.11011 0.36021,0.0816 0.10128,-0.0286 0.12277,-0.12742 0.16675,-0.26793 0.044,-0.14051 0.62773,-1.70104 0.82695,-2.19466 0.19933,-0.49357 0.2249,-0.57635 0.28714,-0.76598 0.0618,-0.1898 -0.005,-0.36353 -0.0924,-0.45392 -0.0872,-0.0904 -0.22949,-0.10291 -0.27145,-0.10222 -0.0419,5.5e-4 -0.32032,-0.0195 -0.46148,-0.0407 -0.19215,-0.029 -0.47053,-0.11965 -0.56311,-0.15549 -0.23628,-0.0916 -0.48103,-0.26386 -0.60199,-0.53086 -0.0885,-0.19537 -0.12683,-0.34898 -0.11868,-0.67429 0.007,-0.27537 0.0565,-0.55808 0.096,-0.71536 0.0397,-0.15722 0.10136,-0.33612 0.18569,-0.5012 0.15953,-0.31382 0.33088,-0.58298 0.52993,-0.80275 0.1086,-0.14475 0.40679,-0.28034 0.61085,-0.29391 0.31373,-0.0286 0.50335,0.0169 0.79219,0.1322 0.15039,0.0602 0.39876,0.16868 0.55566,0.21698 0.15688,0.0483 0.28055,0.0367 0.35503,-0.003 0.0824,-0.0434 0.14887,-0.1 0.17559,-0.29738 0.0266,-0.1974 0.0427,-0.60513 0.0687,-0.93064 0.0259,-0.3255 0.0191,-0.57846 0.0385,-0.8947 0.0196,-0.31622 0.008,-0.56894 0.0124,-0.80191 0.004,-0.23297 0.0101,-0.50723 0.008,-0.64199 -0.002,-0.15272 -0.0161,-0.30478 -0.0879,-0.38748 -0.0717,-0.0827 -0.21073,-0.0703 -0.30868,-0.0728 -0.11171,-0.003 -0.37232,0.002 -0.60538,-0.005 -0.23309,-0.006 -0.69532,0.012 -1.03465,-0.004 -0.33932,-0.0161 -0.71896,-0.005 -1.0049,-0.0326 -0.28595,-0.027 -0.53418,-0.0449 -0.70849,-0.0628 -0.1284,-0.0133 -0.23309,-0.0789 -0.29062,-0.16224 -0.0686,-0.0995 -0.0528,-0.21313 -0.0235,-0.37416 0.0294,-0.16098 0.19877,-0.53968 0.25515,-0.68962 0.0664,-0.17744 0.16054,-0.51914 0.1358,-0.68008 -0.0247,-0.16093 -0.10911,-0.29721 -0.23402,-0.43954 -0.11706,-0.13339 -0.27819,-0.24083 -0.40875,-0.33761 -0.1722,-0.12763 -0.32365,-0.22016 -0.48802,-0.29959 -0.15994,-0.0772 -0.38351,-0.14946 -0.51685,-0.18857 -0.13056,-0.0382 -0.34504,-0.0807 -0.50279,-0.0972 -0.18102,-0.0189 -0.4233,5.5e-4 -0.59699,0.0267 -0.11209,0.0173 -0.34618,0.12225 -0.44863,0.19939 -0.10244,0.0772 -0.21079,0.19464 -0.27207,0.3124 -0.0613,0.11775 -0.15703,0.32794 -0.19816,0.48437 -0.0411,0.15645 -0.0883,0.4522 -0.0919,0.58004 -0.004,0.12788 -0.0178,0.30359 -0.10785,0.39831 -0.0561,0.0589 -0.16481,0.0955 -0.23892,0.10375 -0.0818,3.8e-4 -0.16957,-0.0156 -0.37682,-0.0894 -0.33423,-0.11128 -0.71643,-0.26108 -1.1547,-0.43228 -0.43827,-0.17122 -0.73824,-0.29078 -1.11122,-0.42574 -0.18738,-0.0676 -0.46442,-0.17377 -0.56572,-0.19282 -0.10735,-0.0203 -0.19054,0.009 -0.24662,0.0453 -0.0319,0.0304 -0.0822,0.0835 -0.11888,0.13605 -0.035,0.0592 -0.0888,0.19917 -0.14981,0.39623 -0.0774,0.24375 -0.45072,1.39148 -0.63509,1.8572 -0.18436,0.4657 -0.27392,0.81491 -0.33223,1.0252 -0.0583,0.21034 0.16305,0.27254 0.25766,0.32297 0.11296,0.0478 0.25599,0.0959 0.5005,0.10429 0.24453,0.008 0.52438,0.037 0.70145,0.11073 0.17707,0.0737 0.32802,0.13816 0.44016,0.26725 0.0718,0.0904 0.1673,0.25085 0.19886,0.44079 0.0229,0.17635 0.0197,0.82329 -0.0823,1.16673 -0.0747,0.30981 -0.27178,0.672 -0.40762,0.85996 -0.19143,0.27412 -0.40386,0.50442 -0.61305,0.63269 -0.18515,0.12033 -0.49029,0.17659 -0.8327,0.0362 -0.22768,-0.0775 -0.55527,-0.21708 -0.79028,-0.28382 -0.17923,-0.0559 -0.41857,-0.0138 -0.48289,0.1178 -0.056,0.10822 -0.0706,0.21537 -0.084,0.37086 -0.0261,0.37764 -0.029,1.94008 -0.0717,2.86235 -0.0353,0.43468 0.006,0.57829 0.0353,0.64566 0.036,0.0847 0.36968,0.0758 0.46438,0.074 0.1882,1.1e-4 0.31618,-0.005 0.52893,-0.006 0.53643,0.004 2.55791,-0.0276 2.77317,0.0297 0.0722,0.0144 0.14731,0.04 0.19828,0.0704 0.052,0.0333 0.085,0.0738 0.10392,0.13597 0.0278,0.0889 -0.0396,0.27625 -0.0828,0.3957 -0.0431,0.11947 -0.14115,0.41501 -0.28904,0.73293 -0.14791,0.31794 -0.10517,0.6241 -0.0636,0.71801 0.0416,0.0939 0.15142,0.32628 0.37929,0.53048 0.22788,0.20419 0.44928,0.30636 0.73568,0.43164 0.2463,0.10774 0.68019,0.20311 0.72232,0.20817 z"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" />
-  </g>
+    xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:cc="http://creativecommons.org/ns#"
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+    xmlns="http://www.w3.org/2000/svg"
+    width="16"
+    height="16"
+    id="svg4781"
+    version="1.1"
+    inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
+    sodipodi:docname="jastadd.svg"
+    inkscape:export-filename="/home/jesper/bzr/jastadd-research/logotype/jastadd_200px.png"
+    inkscape:export-xdpi="49.240002"
+    inkscape:export-ydpi="49.240002">
+    <defs
+        id="defs4783">
+        <inkscape:perspective
+            sodipodi:type="inkscape:persp3d"
+            inkscape:vp_x="0 : 454.65828 : 1"
+            inkscape:vp_y="0 : 1000 : 0"
+            inkscape:vp_z="744.09448 : 454.65828 : 1"
+            inkscape:persp3d-origin="372.04724 : 279.26458 : 1"
+            id="perspective4789"/>
+        <inkscape:perspective
+            id="perspective4768"
+            inkscape:persp3d-origin="0.5 : -71.189479 : 1"
+            inkscape:vp_z="1 : -71.022812 : 1"
+            inkscape:vp_y="0 : 1000 : 0"
+            inkscape:vp_x="0 : -71.022812 : 1"
+            sodipodi:type="inkscape:persp3d"/>
+    </defs>
+    <sodipodi:namedview
+        id="base"
+        pagecolor="#ffffff"
+        bordercolor="#666666"
+        borderopacity="1.0"
+        inkscape:pageopacity="0.0"
+        inkscape:pageshadow="2"
+        inkscape:zoom="31.678384"
+        inkscape:cx="24.626583"
+        inkscape:cy="16.669221"
+        inkscape:document-units="px"
+        inkscape:current-layer="layer1"
+        showgrid="false"
+        inkscape:window-width="2560"
+        inkscape:window-height="1406"
+        inkscape:window-x="0"
+        inkscape:window-y="18"
+        inkscape:window-maximized="1"
+        inkscape:document-rotation="0"/>
+    <metadata
+        id="metadata4786">
+        <rdf:RDF>
+            <cc:Work
+                rdf:about="">
+                <dc:format>image/svg+xml</dc:format>
+                <dc:type
+                    rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+                <dc:title></dc:title>
+            </cc:Work>
+        </rdf:RDF>
+    </metadata>
+    <g
+        inkscape:label="Layer 1"
+        inkscape:groupmode="layer"
+        id="layer1"
+        transform="translate(-185.85624,-382.86389)">
+        <path
+            inkscape:tile-y0="331.74615"
+            inkscape:tile-x0="805.67645"
+            inkscape:tile-h="236.12934"
+            inkscape:tile-w="285.01443"
+            inkscape:tile-cy="449.81082"
+            inkscape:tile-cx="948.18366"
+            inkscape:export-ydpi="60.48"
+            inkscape:export-xdpi="60.48"
+            inkscape:export-filename="C:\Users\Jesper\Pictures\Inkscape\text4655.png"
+            id="path4837"
+            style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#e9830a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.413302;marker:none;enable-background:accumulate"
+            d="m 192.51835,398.49014 c 0.46797,0.0944 0.88748,0.12177 1.14886,-0.009 0.26139,-0.13045 0.31508,-0.16277 0.42235,-0.28982 0.10727,-0.12706 0.15312,-0.23676 0.19693,-0.40843 0.0439,-0.17165 0.0195,-0.81056 0.0139,-0.88117 -0.005,-0.0706 0.0467,-0.2021 0.0675,-0.25221 0.0389,-0.0938 0.11286,-0.19115 0.1589,-0.21643 0.0804,-0.0356 0.15378,-0.0646 0.37538,0.0176 0.27788,0.0832 1.36687,0.4716 1.9434,0.71318 0.45189,0.19675 0.81205,0.35613 0.94069,0.39718 0.20459,0.0701 0.25891,0.11011 0.36021,0.0816 0.10128,-0.0286 0.12277,-0.12742 0.16675,-0.26793 0.044,-0.14051 0.62773,-1.70104 0.82695,-2.19466 0.19933,-0.49357 0.2249,-0.57635 0.28714,-0.76598 0.0618,-0.1898 -0.005,-0.36353 -0.0924,-0.45392 -0.0872,-0.0904 -0.22949,-0.10291 -0.27145,-0.10222 -0.0419,5.5e-4 -0.32032,-0.0195 -0.46148,-0.0407 -0.19215,-0.029 -0.47053,-0.11965 -0.56311,-0.15549 -0.23628,-0.0916 -0.48103,-0.26386 -0.60199,-0.53086 -0.0885,-0.19537 -0.12683,-0.34898 -0.11868,-0.67429 0.007,-0.27537 0.0565,-0.55808 0.096,-0.71536 0.0397,-0.15722 0.10136,-0.33612 0.18569,-0.5012 0.15953,-0.31382 0.33088,-0.58298 0.52993,-0.80275 0.1086,-0.14475 0.40679,-0.28034 0.61085,-0.29391 0.31373,-0.0286 0.50335,0.0169 0.79219,0.1322 0.15039,0.0602 0.39876,0.16868 0.55566,0.21698 0.15688,0.0483 0.28055,0.0367 0.35503,-0.003 0.0824,-0.0434 0.14887,-0.1 0.17559,-0.29738 0.0266,-0.1974 0.0427,-0.60513 0.0687,-0.93064 0.0259,-0.3255 0.0191,-0.57846 0.0385,-0.8947 0.0196,-0.31622 0.008,-0.56894 0.0124,-0.80191 0.004,-0.23297 0.0101,-0.50723 0.008,-0.64199 -0.002,-0.15272 -0.0161,-0.30478 -0.0879,-0.38748 -0.0717,-0.0827 -0.21073,-0.0703 -0.30868,-0.0728 -0.11171,-0.003 -0.37232,0.002 -0.60538,-0.005 -0.23309,-0.006 -0.69532,0.012 -1.03465,-0.004 -0.33932,-0.0161 -0.71896,-0.005 -1.0049,-0.0326 -0.28595,-0.027 -0.53418,-0.0449 -0.70849,-0.0628 -0.1284,-0.0133 -0.23309,-0.0789 -0.29062,-0.16224 -0.0686,-0.0995 -0.0528,-0.21313 -0.0235,-0.37416 0.0294,-0.16098 0.19877,-0.53968 0.25515,-0.68962 0.0664,-0.17744 0.16054,-0.51914 0.1358,-0.68008 -0.0247,-0.16093 -0.10911,-0.29721 -0.23402,-0.43954 -0.11706,-0.13339 -0.27819,-0.24083 -0.40875,-0.33761 -0.1722,-0.12763 -0.32365,-0.22016 -0.48802,-0.29959 -0.15994,-0.0772 -0.38351,-0.14946 -0.51685,-0.18857 -0.13056,-0.0382 -0.34504,-0.0807 -0.50279,-0.0972 -0.18102,-0.0189 -0.4233,5.5e-4 -0.59699,0.0267 -0.11209,0.0173 -0.34618,0.12225 -0.44863,0.19939 -0.10244,0.0772 -0.21079,0.19464 -0.27207,0.3124 -0.0613,0.11775 -0.15703,0.32794 -0.19816,0.48437 -0.0411,0.15645 -0.0883,0.4522 -0.0919,0.58004 -0.004,0.12788 -0.0178,0.30359 -0.10785,0.39831 -0.0561,0.0589 -0.16481,0.0955 -0.23892,0.10375 -0.0818,3.8e-4 -0.16957,-0.0156 -0.37682,-0.0894 -0.33423,-0.11128 -0.71643,-0.26108 -1.1547,-0.43228 -0.43827,-0.17122 -0.73824,-0.29078 -1.11122,-0.42574 -0.18738,-0.0676 -0.46442,-0.17377 -0.56572,-0.19282 -0.10735,-0.0203 -0.19054,0.009 -0.24662,0.0453 -0.0319,0.0304 -0.0822,0.0835 -0.11888,0.13605 -0.035,0.0592 -0.0888,0.19917 -0.14981,0.39623 -0.0774,0.24375 -0.45072,1.39148 -0.63509,1.8572 -0.18436,0.4657 -0.27392,0.81491 -0.33223,1.0252 -0.0583,0.21034 0.16305,0.27254 0.25766,0.32297 0.11296,0.0478 0.25599,0.0959 0.5005,0.10429 0.24453,0.008 0.52438,0.037 0.70145,0.11073 0.17707,0.0737 0.32802,0.13816 0.44016,0.26725 0.0718,0.0904 0.1673,0.25085 0.19886,0.44079 0.0229,0.17635 0.0197,0.82329 -0.0823,1.16673 -0.0747,0.30981 -0.27178,0.672 -0.40762,0.85996 -0.19143,0.27412 -0.40386,0.50442 -0.61305,0.63269 -0.18515,0.12033 -0.49029,0.17659 -0.8327,0.0362 -0.22768,-0.0775 -0.55527,-0.21708 -0.79028,-0.28382 -0.17923,-0.0559 -0.41857,-0.0138 -0.48289,0.1178 -0.056,0.10822 -0.0706,0.21537 -0.084,0.37086 -0.0261,0.37764 -0.029,1.94008 -0.0717,2.86235 -0.0353,0.43468 0.006,0.57829 0.0353,0.64566 0.036,0.0847 0.36968,0.0758 0.46438,0.074 0.1882,1.1e-4 0.31618,-0.005 0.52893,-0.006 0.53643,0.004 2.55791,-0.0276 2.77317,0.0297 0.0722,0.0144 0.14731,0.04 0.19828,0.0704 0.052,0.0333 0.085,0.0738 0.10392,0.13597 0.0278,0.0889 -0.0396,0.27625 -0.0828,0.3957 -0.0431,0.11947 -0.14115,0.41501 -0.28904,0.73293 -0.14791,0.31794 -0.10517,0.6241 -0.0636,0.71801 0.0416,0.0939 0.15142,0.32628 0.37929,0.53048 0.22788,0.20419 0.44928,0.30636 0.73568,0.43164 0.2463,0.10774 0.68019,0.20311 0.72232,0.20817 z"
+            inkscape:connector-curvature="0"
+            sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"/>
+    </g>
 </svg>