diff --git a/me.dollyn.goide.ui/bin/me/dollyn/goide/ui/AbstractGolangUiModule.class b/me.dollyn.goide.ui/bin/me/dollyn/goide/ui/AbstractGolangUiModule.class
index a8ffc08..4115777 100644
--- a/me.dollyn.goide.ui/bin/me/dollyn/goide/ui/AbstractGolangUiModule.class
+++ b/me.dollyn.goide.ui/bin/me/dollyn/goide/ui/AbstractGolangUiModule.class
Binary files differ
diff --git a/me.dollyn.goide.ui/bin/me/dollyn/goide/ui/contentassist/AbstractGolangProposalProvider.class b/me.dollyn.goide.ui/bin/me/dollyn/goide/ui/contentassist/AbstractGolangProposalProvider.class
index 55cd24c..75d5c45 100644
--- a/me.dollyn.goide.ui/bin/me/dollyn/goide/ui/contentassist/AbstractGolangProposalProvider.class
+++ b/me.dollyn.goide.ui/bin/me/dollyn/goide/ui/contentassist/AbstractGolangProposalProvider.class
Binary files differ
diff --git a/me.dollyn.goide.ui/bin/me/dollyn/goide/ui/contentassist/antlr/GolangParser$1.class b/me.dollyn.goide.ui/bin/me/dollyn/goide/ui/contentassist/antlr/GolangParser$1.class
index 55db2c4..96b5110 100644
--- a/me.dollyn.goide.ui/bin/me/dollyn/goide/ui/contentassist/antlr/GolangParser$1.class
+++ b/me.dollyn.goide.ui/bin/me/dollyn/goide/ui/contentassist/antlr/GolangParser$1.class
Binary files differ
diff --git a/me.dollyn.goide.ui/bin/me/dollyn/goide/ui/contentassist/antlr/internal/InternalGolang.g b/me.dollyn.goide.ui/bin/me/dollyn/goide/ui/contentassist/antlr/internal/InternalGolang.g
index 9bfa10c..32e5600 100644
--- a/me.dollyn.goide.ui/bin/me/dollyn/goide/ui/contentassist/antlr/internal/InternalGolang.g
+++ b/me.dollyn.goide.ui/bin/me/dollyn/goide/ui/contentassist/antlr/internal/InternalGolang.g
@@ -84,32 +84,6 @@
 
 
 
-// Entry rule entryRulePackage
-entryRulePackage 
-:
-{ before(grammarAccess.getPackageRule()); }
-	 rulePackage
-{ after(grammarAccess.getPackageRule()); } 
-	 EOF 
-;
-
-// Rule Package
-rulePackage
-    @init {
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getPackageAccess().getGroup()); }
-(rule__Package__Group__0)
-{ after(grammarAccess.getPackageAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
 
 
 // Entry rule entryRuleImport
@@ -204,68 +178,6 @@
 
 
 
-rule__Package__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Package__Group__0__Impl
-	rule__Package__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Package__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPackageAccess().getPackageKeyword_0()); }
-
-	'package' 
-
-{ after(grammarAccess.getPackageAccess().getPackageKeyword_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__Package__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__Package__Group__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Package__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPackageAccess().getNameAssignment_1()); }
-(rule__Package__NameAssignment_1)
-{ after(grammarAccess.getPackageAccess().getNameAssignment_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
 
 rule__Import__Group__0
     @init {
@@ -315,9 +227,9 @@
     }
 :
 (
-{ before(grammarAccess.getImportAccess().getPathAssignment_1()); }
-(rule__Import__PathAssignment_1)
-{ after(grammarAccess.getImportAccess().getPathAssignment_1()); }
+{ before(grammarAccess.getImportAccess().getPackageAssignment_1()); }
+(rule__Import__PackageAssignment_1)
+{ after(grammarAccess.getImportAccess().getPackageAssignment_1()); }
 )
 
 ;
@@ -337,8 +249,8 @@
     }
 :
 (
-{ before(grammarAccess.getGoModelAccess().getPackagePackageParserRuleCall_0_0()); }
-	rulePackage{ after(grammarAccess.getGoModelAccess().getPackagePackageParserRuleCall_0_0()); }
+{ before(grammarAccess.getGoModelAccess().getPackageIDTerminalRuleCall_0_0()); }
+	RULE_ID{ after(grammarAccess.getGoModelAccess().getPackageIDTerminalRuleCall_0_0()); }
 )
 
 ;
@@ -361,29 +273,15 @@
 	restoreStackSize(stackSize);
 }
 
-rule__Package__NameAssignment_1
+
+rule__Import__PackageAssignment_1
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getPackageAccess().getNameIDTerminalRuleCall_1_0()); }
-	RULE_ID{ after(grammarAccess.getPackageAccess().getNameIDTerminalRuleCall_1_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__Import__PathAssignment_1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getImportAccess().getPathSTRINGTerminalRuleCall_1_0()); }
-	RULE_STRING{ after(grammarAccess.getImportAccess().getPathSTRINGTerminalRuleCall_1_0()); }
+{ before(grammarAccess.getImportAccess().getPackageSTRINGTerminalRuleCall_1_0()); }
+	RULE_STRING{ after(grammarAccess.getImportAccess().getPackageSTRINGTerminalRuleCall_1_0()); }
 )
 
 ;
diff --git a/me.dollyn.goide.ui/bin/me/dollyn/goide/ui/contentassist/antlr/internal/InternalGolang.tokens b/me.dollyn.goide.ui/bin/me/dollyn/goide/ui/contentassist/antlr/internal/InternalGolang.tokens
index fc51365..039a92b 100644
--- a/me.dollyn.goide.ui/bin/me/dollyn/goide/ui/contentassist/antlr/internal/InternalGolang.tokens
+++ b/me.dollyn.goide.ui/bin/me/dollyn/goide/ui/contentassist/antlr/internal/InternalGolang.tokens
@@ -1,11 +1,9 @@
 RULE_ID=4
 RULE_STRING=5
-T__12=12
 T__11=11
 RULE_ANY_OTHER=10
 RULE_INT=6
 RULE_WS=9
 RULE_SL_COMMENT=8
 RULE_ML_COMMENT=7
-'package'=11
-'import'=12
+'import'=11
diff --git a/me.dollyn.goide.ui/bin/me/dollyn/goide/ui/contentassist/antlr/internal/InternalGolangLexer$DFA12.class b/me.dollyn.goide.ui/bin/me/dollyn/goide/ui/contentassist/antlr/internal/InternalGolangLexer$DFA12.class
index b8db982..68139fb 100644
--- a/me.dollyn.goide.ui/bin/me/dollyn/goide/ui/contentassist/antlr/internal/InternalGolangLexer$DFA12.class
+++ b/me.dollyn.goide.ui/bin/me/dollyn/goide/ui/contentassist/antlr/internal/InternalGolangLexer$DFA12.class
Binary files differ
diff --git a/me.dollyn.goide.ui/bin/me/dollyn/goide/ui/contentassist/antlr/internal/InternalGolangLexer.class b/me.dollyn.goide.ui/bin/me/dollyn/goide/ui/contentassist/antlr/internal/InternalGolangLexer.class
index 7688006..5456490 100644
--- a/me.dollyn.goide.ui/bin/me/dollyn/goide/ui/contentassist/antlr/internal/InternalGolangLexer.class
+++ b/me.dollyn.goide.ui/bin/me/dollyn/goide/ui/contentassist/antlr/internal/InternalGolangLexer.class
Binary files differ
diff --git a/me.dollyn.goide.ui/bin/me/dollyn/goide/ui/contentassist/antlr/internal/InternalGolangParser.class b/me.dollyn.goide.ui/bin/me/dollyn/goide/ui/contentassist/antlr/internal/InternalGolangParser.class
index 91ecd0a..e7b1711 100644
--- a/me.dollyn.goide.ui/bin/me/dollyn/goide/ui/contentassist/antlr/internal/InternalGolangParser.class
+++ b/me.dollyn.goide.ui/bin/me/dollyn/goide/ui/contentassist/antlr/internal/InternalGolangParser.class
Binary files differ
diff --git a/me.dollyn.goide/bin/me/dollyn/goide/GenerateGolang.mwe2 b/me.dollyn.goide/bin/me/dollyn/goide/GenerateGolang.mwe2
index fa2ed36..d6a7841 100644
--- a/me.dollyn.goide/bin/me/dollyn/goide/GenerateGolang.mwe2
+++ b/me.dollyn.goide/bin/me/dollyn/goide/GenerateGolang.mwe2
@@ -30,7 +30,7 @@
     component = Generator {
     	pathRtProject = runtimeProject
     	pathUiProject = "${runtimeProject}.ui"
-    	pathTestProject = "${runtimeProject}.tests"
+    	//pathTestProject = "${runtimeProject}.tests"
     	projectNameRt = projectName
     	projectNameUi = "${projectName}.ui"
     	language = auto-inject {
@@ -103,7 +103,7 @@
     		fragment = parser.antlr.XtextAntlrUiGeneratorFragment auto-inject {}
     
     		// generates junit test support classes into Generator#pathTestProject
-    		fragment = junit.Junit4Fragment auto-inject {}
+    		//fragment = junit.Junit4Fragment auto-inject {}
     
     		// project wizard (optional)
     		// fragment = projectWizard.SimpleProjectWizardFragment auto-inject {
diff --git a/me.dollyn.goide/bin/me/dollyn/goide/Golang.ecore b/me.dollyn.goide/bin/me/dollyn/goide/Golang.ecore
index 2893e43..92f39ad 100644
--- a/me.dollyn.goide/bin/me/dollyn/goide/Golang.ecore
+++ b/me.dollyn.goide/bin/me/dollyn/goide/Golang.ecore
@@ -4,8 +4,7 @@
     xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="golang"
     nsURI="http://www.dollyn.me/goide/Golang" nsPrefix="golang">
   <eClassifiers xsi:type="ecore:EClass" name="GoModel">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="package" upperBound="-1"
-        eType="#//Package" containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="package" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="imports" upperBound="-1"
         eType="#//Import" containment="true"/>
   </eClassifiers>
@@ -13,6 +12,6 @@
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Import">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="path" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="package" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
   </eClassifiers>
 </ecore:EPackage>
diff --git a/me.dollyn.goide/bin/me/dollyn/goide/Golang.genmodel b/me.dollyn.goide/bin/me/dollyn/goide/Golang.genmodel
index c75a7c7..3e9d2d3 100644
--- a/me.dollyn.goide/bin/me/dollyn/goide/Golang.genmodel
+++ b/me.dollyn.goide/bin/me/dollyn/goide/Golang.genmodel
@@ -10,14 +10,14 @@
   <genPackages prefix="Golang" basePackage="me.dollyn.goide" disposableProviderFactory="true"
       fileExtensions="go" ecorePackage="Golang.ecore#/">
     <genClasses ecoreClass="Golang.ecore#//GoModel">
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Golang.ecore#//GoModel/package"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Golang.ecore#//GoModel/package"/>
       <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference Golang.ecore#//GoModel/imports"/>
     </genClasses>
     <genClasses ecoreClass="Golang.ecore#//Package">
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Golang.ecore#//Package/name"/>
     </genClasses>
     <genClasses ecoreClass="Golang.ecore#//Import">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Golang.ecore#//Import/path"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute Golang.ecore#//Import/package"/>
     </genClasses>
   </genPackages>
 </genmodel:GenModel>
diff --git a/me.dollyn.goide/bin/me/dollyn/goide/Golang.xmi b/me.dollyn.goide/bin/me/dollyn/goide/Golang.xmi
index 72959fe..944c1bb 100644
--- a/me.dollyn.goide/bin/me/dollyn/goide/Golang.xmi
+++ b/me.dollyn.goide/bin/me/dollyn/goide/Golang.xmi
@@ -9,8 +9,8 @@
         <classifier xsi:type="ecore:EClass" href="http://www.dollyn.me/goide/Golang#//GoModel"/>
       </type>
       <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Assignment" feature="package" operator="+=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.1"/>
+        <elements xsi:type="xtext:Assignment" feature="package" operator="=">
+          <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
         </elements>
         <elements xsi:type="xtext:Assignment" cardinality="*" feature="imports" operator="+=">
           <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.2"/>
@@ -34,7 +34,7 @@
       </type>
       <alternatives xsi:type="xtext:Group">
         <elements xsi:type="xtext:Keyword" value="import"/>
-        <elements xsi:type="xtext:Assignment" feature="path" operator="=">
+        <elements xsi:type="xtext:Assignment" feature="package" operator="=">
           <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.2"/>
         </elements>
       </alternatives>
diff --git a/me.dollyn.goide/bin/me/dollyn/goide/Golang.xtext b/me.dollyn.goide/bin/me/dollyn/goide/Golang.xtext
index a899136..7aee298 100644
--- a/me.dollyn.goide/bin/me/dollyn/goide/Golang.xtext
+++ b/me.dollyn.goide/bin/me/dollyn/goide/Golang.xtext
@@ -1,16 +1,16 @@
-grammar me.dollyn.goide.Golang with org.eclipse.xtext.common.Terminals
+grammar me.dollyn.goide.Golang with org.eclipse.xtext.xbase.Xbase
 
 generate golang "http://www.dollyn.me/goide/Golang"
 
 GoModel:
-	package += Package
+	package = ID
 	imports += Import*
 ;
 
-Package:
-	'package' name=ID
-;
-
 Import:
 	'import' package=STRING
-;
\ No newline at end of file
+;
+
+terminal decimal_digit : "0" .. "9" .;
+terminal octal_digit   : "0" .. "7" .;
+terminal hex_digit     : "0" .. "9" | "A".. "F" | "a" .. "f" .;
\ No newline at end of file
diff --git a/me.dollyn.goide/bin/me/dollyn/goide/golang/GoModel.class b/me.dollyn.goide/bin/me/dollyn/goide/golang/GoModel.class
index 8b36828..82e2d53 100644
--- a/me.dollyn.goide/bin/me/dollyn/goide/golang/GoModel.class
+++ b/me.dollyn.goide/bin/me/dollyn/goide/golang/GoModel.class
Binary files differ
diff --git a/me.dollyn.goide/bin/me/dollyn/goide/golang/GolangPackage$Literals.class b/me.dollyn.goide/bin/me/dollyn/goide/golang/GolangPackage$Literals.class
index c020034..952c30f 100644
--- a/me.dollyn.goide/bin/me/dollyn/goide/golang/GolangPackage$Literals.class
+++ b/me.dollyn.goide/bin/me/dollyn/goide/golang/GolangPackage$Literals.class
Binary files differ
diff --git a/me.dollyn.goide/bin/me/dollyn/goide/golang/GolangPackage.class b/me.dollyn.goide/bin/me/dollyn/goide/golang/GolangPackage.class
index 429eb6e..d9e5621 100644
--- a/me.dollyn.goide/bin/me/dollyn/goide/golang/GolangPackage.class
+++ b/me.dollyn.goide/bin/me/dollyn/goide/golang/GolangPackage.class
Binary files differ
diff --git a/me.dollyn.goide/bin/me/dollyn/goide/golang/Import.class b/me.dollyn.goide/bin/me/dollyn/goide/golang/Import.class
index 0ac6265..73ce5da 100644
--- a/me.dollyn.goide/bin/me/dollyn/goide/golang/Import.class
+++ b/me.dollyn.goide/bin/me/dollyn/goide/golang/Import.class
Binary files differ
diff --git a/me.dollyn.goide/bin/me/dollyn/goide/golang/impl/GoModelImpl.class b/me.dollyn.goide/bin/me/dollyn/goide/golang/impl/GoModelImpl.class
index 9e30181..ae88c12 100644
--- a/me.dollyn.goide/bin/me/dollyn/goide/golang/impl/GoModelImpl.class
+++ b/me.dollyn.goide/bin/me/dollyn/goide/golang/impl/GoModelImpl.class
Binary files differ
diff --git a/me.dollyn.goide/bin/me/dollyn/goide/golang/impl/GolangPackageImpl.class b/me.dollyn.goide/bin/me/dollyn/goide/golang/impl/GolangPackageImpl.class
index 677e552..533656e 100644
--- a/me.dollyn.goide/bin/me/dollyn/goide/golang/impl/GolangPackageImpl.class
+++ b/me.dollyn.goide/bin/me/dollyn/goide/golang/impl/GolangPackageImpl.class
Binary files differ
diff --git a/me.dollyn.goide/bin/me/dollyn/goide/golang/impl/ImportImpl.class b/me.dollyn.goide/bin/me/dollyn/goide/golang/impl/ImportImpl.class
index b5346c9..edc8261 100644
--- a/me.dollyn.goide/bin/me/dollyn/goide/golang/impl/ImportImpl.class
+++ b/me.dollyn.goide/bin/me/dollyn/goide/golang/impl/ImportImpl.class
Binary files differ
diff --git a/me.dollyn.goide/bin/me/dollyn/goide/parser/antlr/internal/InternalGolang.g b/me.dollyn.goide/bin/me/dollyn/goide/parser/antlr/internal/InternalGolang.g
index 13150ff..6f489d6 100644
--- a/me.dollyn.goide/bin/me/dollyn/goide/parser/antlr/internal/InternalGolang.g
+++ b/me.dollyn.goide/bin/me/dollyn/goide/parser/antlr/internal/InternalGolang.g
@@ -79,19 +79,19 @@
     @after { leaveRule(); }:
 ((
 (
-		{ 
-	        newCompositeNode(grammarAccess.getGoModelAccess().getPackagePackageParserRuleCall_0_0()); 
-	    }
-		lv_package_0_0=rulePackage		{
+		lv_package_0_0=RULE_ID
+		{
+			newLeafNode(lv_package_0_0, grammarAccess.getGoModelAccess().getPackageIDTerminalRuleCall_0_0()); 
+		}
+		{
 	        if ($current==null) {
-	            $current = createModelElementForParent(grammarAccess.getGoModelRule());
+	            $current = createModelElement(grammarAccess.getGoModelRule());
 	        }
-       		add(
+       		setWithLastConsumed(
        			$current, 
        			"package",
         		lv_package_0_0, 
-        		"Package");
-	        afterParserOrEnumRuleCall();
+        		"ID");
 	    }
 
 )
@@ -120,47 +120,6 @@
 
 
 
-// Entry rule entryRulePackage
-entryRulePackage returns [EObject current=null] 
-	:
-	{ newCompositeNode(grammarAccess.getPackageRule()); }
-	 iv_rulePackage=rulePackage 
-	 { $current=$iv_rulePackage.current; } 
-	 EOF 
-;
-
-// Rule Package
-rulePackage returns [EObject current=null] 
-    @init { enterRule(); 
-    }
-    @after { leaveRule(); }:
-(	otherlv_0='package' 
-    {
-    	newLeafNode(otherlv_0, grammarAccess.getPackageAccess().getPackageKeyword_0());
-    }
-(
-(
-		lv_name_1_0=RULE_ID
-		{
-			newLeafNode(lv_name_1_0, grammarAccess.getPackageAccess().getNameIDTerminalRuleCall_1_0()); 
-		}
-		{
-	        if ($current==null) {
-	            $current = createModelElement(grammarAccess.getPackageRule());
-	        }
-       		setWithLastConsumed(
-       			$current, 
-       			"name",
-        		lv_name_1_0, 
-        		"ID");
-	    }
-
-)
-))
-;
-
-
-
 
 
 // Entry rule entryRuleImport
@@ -183,9 +142,9 @@
     }
 (
 (
-		lv_path_1_0=RULE_STRING
+		lv_package_1_0=RULE_STRING
 		{
-			newLeafNode(lv_path_1_0, grammarAccess.getImportAccess().getPathSTRINGTerminalRuleCall_1_0()); 
+			newLeafNode(lv_package_1_0, grammarAccess.getImportAccess().getPackageSTRINGTerminalRuleCall_1_0()); 
 		}
 		{
 	        if ($current==null) {
@@ -193,8 +152,8 @@
 	        }
        		setWithLastConsumed(
        			$current, 
-       			"path",
-        		lv_path_1_0, 
+       			"package",
+        		lv_package_1_0, 
         		"STRING");
 	    }
 
diff --git a/me.dollyn.goide/bin/me/dollyn/goide/parser/antlr/internal/InternalGolang.tokens b/me.dollyn.goide/bin/me/dollyn/goide/parser/antlr/internal/InternalGolang.tokens
index fc51365..039a92b 100644
--- a/me.dollyn.goide/bin/me/dollyn/goide/parser/antlr/internal/InternalGolang.tokens
+++ b/me.dollyn.goide/bin/me/dollyn/goide/parser/antlr/internal/InternalGolang.tokens
@@ -1,11 +1,9 @@
 RULE_ID=4
 RULE_STRING=5
-T__12=12
 T__11=11
 RULE_ANY_OTHER=10
 RULE_INT=6
 RULE_WS=9
 RULE_SL_COMMENT=8
 RULE_ML_COMMENT=7
-'package'=11
-'import'=12
+'import'=11
diff --git a/me.dollyn.goide/bin/me/dollyn/goide/parser/antlr/internal/InternalGolangLexer$DFA12.class b/me.dollyn.goide/bin/me/dollyn/goide/parser/antlr/internal/InternalGolangLexer$DFA12.class
index 65970c4..ad329a5 100644
--- a/me.dollyn.goide/bin/me/dollyn/goide/parser/antlr/internal/InternalGolangLexer$DFA12.class
+++ b/me.dollyn.goide/bin/me/dollyn/goide/parser/antlr/internal/InternalGolangLexer$DFA12.class
Binary files differ
diff --git a/me.dollyn.goide/bin/me/dollyn/goide/parser/antlr/internal/InternalGolangLexer.class b/me.dollyn.goide/bin/me/dollyn/goide/parser/antlr/internal/InternalGolangLexer.class
index cefa361..e5da715 100644
--- a/me.dollyn.goide/bin/me/dollyn/goide/parser/antlr/internal/InternalGolangLexer.class
+++ b/me.dollyn.goide/bin/me/dollyn/goide/parser/antlr/internal/InternalGolangLexer.class
Binary files differ
diff --git a/me.dollyn.goide/bin/me/dollyn/goide/parser/antlr/internal/InternalGolangParser.class b/me.dollyn.goide/bin/me/dollyn/goide/parser/antlr/internal/InternalGolangParser.class
index 4b641fe..eca6c7d 100644
--- a/me.dollyn.goide/bin/me/dollyn/goide/parser/antlr/internal/InternalGolangParser.class
+++ b/me.dollyn.goide/bin/me/dollyn/goide/parser/antlr/internal/InternalGolangParser.class
Binary files differ
diff --git a/me.dollyn.goide/bin/me/dollyn/goide/serializer/GolangSemanticSequencer.class b/me.dollyn.goide/bin/me/dollyn/goide/serializer/GolangSemanticSequencer.class
index 56dc663..c60d062 100644
--- a/me.dollyn.goide/bin/me/dollyn/goide/serializer/GolangSemanticSequencer.class
+++ b/me.dollyn.goide/bin/me/dollyn/goide/serializer/GolangSemanticSequencer.class
Binary files differ
diff --git a/me.dollyn.goide/bin/me/dollyn/goide/services/GolangGrammarAccess$GoModelElements.class b/me.dollyn.goide/bin/me/dollyn/goide/services/GolangGrammarAccess$GoModelElements.class
index 5125e14..ad9401f 100644
--- a/me.dollyn.goide/bin/me/dollyn/goide/services/GolangGrammarAccess$GoModelElements.class
+++ b/me.dollyn.goide/bin/me/dollyn/goide/services/GolangGrammarAccess$GoModelElements.class
Binary files differ
diff --git a/me.dollyn.goide/bin/me/dollyn/goide/services/GolangGrammarAccess$ImportElements.class b/me.dollyn.goide/bin/me/dollyn/goide/services/GolangGrammarAccess$ImportElements.class
index 0b460a7..eb2da1b 100644
--- a/me.dollyn.goide/bin/me/dollyn/goide/services/GolangGrammarAccess$ImportElements.class
+++ b/me.dollyn.goide/bin/me/dollyn/goide/services/GolangGrammarAccess$ImportElements.class
Binary files differ
