diff --git a/api/pom.xml b/api/pom.xml
index bf28703..722eaa4 100644
--- a/api/pom.xml
+++ b/api/pom.xml
@@ -33,7 +33,7 @@
     <artifactId>jakarta.el-api</artifactId>
     <version>3.0.2-SNAPSHOT</version>
     
-    <name>Expression Language 3.0 API</name>
+    <name>Jakarta Expression Language 3.0 API</name>
 
     <properties>
         <!-- Make sure the two versions are in sync with the maven version -->
@@ -69,7 +69,7 @@
     
     <mailingLists>
         <mailingList>
-            <name>EL mailing list</name>
+            <name>Jakarta Expression Language mailing list</name>
             <post>el-dev@eclipse.org</post>
             <subscribe>https://dev.eclipse.org/mailman/listinfo/el-dev</subscribe>
             <unsubscribe>https://dev.eclipse.org/mailman/listinfo/el-dev</unsubscribe>
@@ -118,6 +118,20 @@
         </resources>
     
         <plugins>
+             <!-- Restricts the Java version to 1.8 -->
+             <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>3.0</version>
+                <configuration>
+                    <source>1.7</source>
+                    <target>1.7</target>
+                    <compilerArgument>-Xlint:unchecked</compilerArgument>
+                </configuration>
+            </plugin>
+        
+        
+            <!-- Creates the OSGi MANIFEST.MF file -->        
             <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
@@ -127,7 +141,7 @@
                         <supportedProjectType>jar</supportedProjectType>
                     </supportedProjectTypes>
                     <instructions>
-                        <Bundle-Description>Expression Language ${spec.version} API</Bundle-Description>
+                        <Bundle-Description>Jakarta Expression Language ${spec.version}</Bundle-Description>
                         <Bundle-SymbolicName>${bundle.symbolicName}</Bundle-SymbolicName>
                         <Bundle-Version>${bundle.version}</Bundle-Version>
                         <Extension-Name>${extensionName}</Extension-Name>
@@ -149,6 +163,7 @@
                 </executions>
             </plugin>
             
+            <!-- Adds the manifest file created by the org.apache.felix:maven-bundle-plugin -->
             <plugin>
                 <artifactId>maven-jar-plugin</artifactId>
                 <version>2.4</version>
@@ -162,21 +177,22 @@
                 </configuration>
             </plugin>
             
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <version>3.0</version>
-                <configuration>
-                    <source>1.7</source>
-                    <target>1.7</target>
-                    <compilerArgument>-Xlint:unchecked</compilerArgument>
-                </configuration>
-            </plugin>
-            
+            <!-- Creates the source jar -->
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-source-plugin</artifactId>
                 <version>3.0.1</version>
+                <configuration>
+                    <includePom>true</includePom>
+                </configuration>
+                <executions>
+                    <execution>
+                       <id>attach-sources</id>
+                       <goals>
+                           <goal>jar-no-fork</goal> 
+                       </goals>
+                    </execution>
+                </executions>
             </plugin>
             
             <plugin>
@@ -184,16 +200,7 @@
                 <artifactId>maven-javadoc-plugin</artifactId>
                 <version>3.0.1</version>
             </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-enforcer-plugin</artifactId>
-                <version>3.0.0-M2</version>
-            </plugin>               
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-gpg-plugin</artifactId>
-                <version>1.6</version>          
-            </plugin>
+            
             <plugin>
                 <groupId>org.codehaus.mojo</groupId>
                 <artifactId>findbugs-maven-plugin</artifactId>
@@ -205,7 +212,6 @@
                     <findbugsXmlWithMessages>true</findbugsXmlWithMessages>
                 </configuration>
             </plugin>
-            
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-release-plugin</artifactId>
@@ -215,6 +221,17 @@
                     <arguments>${release.arguments}</arguments>
                 </configuration>
             </plugin>
+            
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-enforcer-plugin</artifactId>
+                <version>3.0.0-M2</version>
+            </plugin>               
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-gpg-plugin</artifactId>
+                <version>1.6</version>          
+            </plugin>
         </plugins>
     </build>
 
diff --git a/impl/pom.xml b/impl/pom.xml
index 02331ee..7a152bd 100644
--- a/impl/pom.xml
+++ b/impl/pom.xml
@@ -71,7 +71,7 @@
     
     <mailingLists>
         <mailingList>
-            <name>EL mailing list</name>
+            <name>Jakarta Expression Language 3.0 mailing list</name>
             <post>el-dev@eclipse.org</post>
             <subscribe>https://dev.eclipse.org/mailman/listinfo/el-dev</subscribe>
             <unsubscribe>https://dev.eclipse.org/mailman/listinfo/el-dev</unsubscribe>
diff --git a/impl/src/main/java/com/sun/el/lang/ELArithmetic.java b/impl/src/main/java/com/sun/el/lang/ELArithmetic.java
index ee1bc55..37092d4 100644
--- a/impl/src/main/java/com/sun/el/lang/ELArithmetic.java
+++ b/impl/src/main/java/com/sun/el/lang/ELArithmetic.java
@@ -24,7 +24,7 @@
 import com.sun.el.util.MessageFactory;
 
 /**
- * A helper class of Arithmetic defined by the EL Specification
+ * A helper class of Arithmetic defined by the Jakarta Expression Specification
  *
  * @author Jacob Hookom [jacob@hookom.net]
  * @version $Change: 181177 $$DateTime: 2001/06/26 08:45:09 $$Author: kchung $
diff --git a/impl/src/main/java/com/sun/el/lang/ELSupport.java b/impl/src/main/java/com/sun/el/lang/ELSupport.java
index a82901c..f0a8368 100644
--- a/impl/src/main/java/com/sun/el/lang/ELSupport.java
+++ b/impl/src/main/java/com/sun/el/lang/ELSupport.java
@@ -27,7 +27,7 @@
 import com.sun.el.util.MessageFactory;
 
 /**
- * A helper class that implements the EL Specification
+ * A helper class that implements the Jakarta Expression Specification
  *
  * @author Jacob Hookom [jacob@hookom.net]
  * @author Kin-man Chung
@@ -345,7 +345,7 @@
             return obj;
         }
 
-        // new to EL 3.0
+        // New in 3.0
         if (!isEL22Compatible && obj == null && !type.isPrimitive() && !String.class.equals(type)) {
             return null;
         }
diff --git a/impl/src/main/java/com/sun/el/lang/EvaluationContext.java b/impl/src/main/java/com/sun/el/lang/EvaluationContext.java
index 47b74a2..4b07a60 100644
--- a/impl/src/main/java/com/sun/el/lang/EvaluationContext.java
+++ b/impl/src/main/java/com/sun/el/lang/EvaluationContext.java
@@ -27,8 +27,9 @@
 import javax.el.VariableMapper;
 
 /**
- * The context for EL expression evaluation. This wrapper ELContext captures the function mapper and the variable mapper
- * at the point when the expression is parsed, and only for those functions and variable used in the expression.
+ * The context for Jakarta Expression expression evaluation. This wrapper ELContext captures the function mapper and the
+ * variable mapper at the point when the expression is parsed, and only for those functions and variable used in the
+ * expression.
  */
 public final class EvaluationContext extends ELContext {
 
diff --git a/impl/src/main/java/com/sun/el/lang/ExpressionBuilder.java b/impl/src/main/java/com/sun/el/lang/ExpressionBuilder.java
index 9fc2ec9..e1de322 100644
--- a/impl/src/main/java/com/sun/el/lang/ExpressionBuilder.java
+++ b/impl/src/main/java/com/sun/el/lang/ExpressionBuilder.java
@@ -215,7 +215,7 @@
             if ((funcNode.getPrefix().length() == 0)
                     && (this.fnMapper == null || fnMapper.resolveFunction(funcNode.getPrefix(), funcNode.getLocalName()) == null)) {
                 // This can be a call to a LambdaExpression. The target
-                // of the call is a bean or an EL variable. Capture
+                // of the call is a bean or an Jakarta Expression variable. Capture
                 // the variable name in the variable mapper if it is an
                 // variable. The decision to invoke the static method or
                 // the LambdaExpression will be made at runtime.
diff --git a/impl/src/main/java/com/sun/el/parser/AstFunction.java b/impl/src/main/java/com/sun/el/parser/AstFunction.java
index 8a76bdf..15fb1af 100644
--- a/impl/src/main/java/com/sun/el/parser/AstFunction.java
+++ b/impl/src/main/java/com/sun/el/parser/AstFunction.java
@@ -85,7 +85,7 @@
             return ctx.getLambdaArgument(name);
         }
 
-        // Next check if this an EL variable
+        // Next check if this an Jakarta Expression variable
         VariableMapper varMapper = ctx.getVariableMapper();
         if (varMapper != null) {
             ValueExpression expr = varMapper.resolveVariable(name);
diff --git a/impl/src/main/java/com/sun/el/parser/ELParser.java b/impl/src/main/java/com/sun/el/parser/ELParser.java
index 37d0c91..4d76641 100644
--- a/impl/src/main/java/com/sun/el/parser/ELParser.java
+++ b/impl/src/main/java/com/sun/el/parser/ELParser.java
@@ -222,7 +222,7 @@
     }
 
     /*
-     * Expression EL Expression Language Root
+     * Jakarta Expression Root
      */
     final public void Expression() throws ParseException {
         SemiColon();
