diff --git a/tomcat-cas/RUNNING.txt b/tomcat-cas/RUNNING.txt
index 9e43e5d..52bdb58 100644
--- a/tomcat-cas/RUNNING.txt
+++ b/tomcat-cas/RUNNING.txt
@@ -16,20 +16,20 @@
 ================================================================================
 
             ===================================================
-            Running The Apache Tomcat 6.0 Servlet/JSP Container
+            Running The Apache Tomcat 7.0 Servlet/JSP Container
             ===================================================
 
-Apache Tomcat 6.0 requires a Java Standard Edition Runtime
-Environment (JRE) version 5.0 or later.
+Apache Tomcat 7.0 requires a Java Standard Edition Runtime
+Environment (JRE) version 6 or later.
 
 =============================
-Running With JRE 5.0 Or Later
+Running With JRE 6 Or Later
 =============================
 
 (1) Download and Install a Java SE Runtime Environment (JRE)
 
 (1.1) Download a Java SE Runtime Environment (JRE),
-      release version 5.0 or later, from
+      release version 6 or later, from
       http://www.oracle.com/technetwork/java/javase/downloads/index.html
 
 (1.2) Install the JRE according to the instructions included with the
@@ -67,17 +67,15 @@
 
 (3) Configure Environment Variables
 
-Tomcat is a Java application and does not use environment variables. The
-variables are used by the Tomcat startup scripts. The scripts use the variables
-to prepare the command that starts Tomcat.
+Tomcat is a Java application and does not use environment variables directly.
+Environment variables are used by the Tomcat startup scripts. The scripts use
+the environment variables to prepare the command that starts Tomcat.
 
 (3.1) Set CATALINA_HOME (required) and CATALINA_BASE (optional)
 
 The CATALINA_HOME environment variable should be set to the location of the
 root directory of the "binary" distribution of Tomcat.
 
-An example was given in (2.2) above.
-
 The Tomcat startup scripts have some logic to set this variable
 automatically if it is absent, based on the location of the startup script
 in *nix and on the current directory in Windows. That logic might not work
@@ -311,7 +309,7 @@
 
   <?xml version="1.0" encoding="UTF-8"?>
   <Context docBase="${catalina.home}/webapps/manager"
-    antiResourceLocking="false" privileged="true" useHttpOnly="true" >
+    antiResourceLocking="false" privileged="true" >
     <Valve className="org.apache.catalina.valves.RemoteAddrValve"
          allow="127\.0\.0\.1" />
   </Context>
@@ -395,14 +393,14 @@
 
     * Documentation for APR/Native library in the Tomcat User's Guide
 
-      http://tomcat.apache.org/tomcat-6.0-doc/apr.html
+      http://tomcat.apache.org/tomcat-7.0-doc/apr.html
 
     * Documentation for the HTTP and AJP protocol connectors in the Tomcat
       Configuration Reference
 
-      http://tomcat.apache.org/tomcat-6.0-doc/config/http.html
+      http://tomcat.apache.org/tomcat-7.0-doc/config/http.html
 
-      http://tomcat.apache.org/tomcat-6.0-doc/config/ajp.html
+      http://tomcat.apache.org/tomcat-7.0-doc/config/ajp.html
 
  - Apache Tomcat Native project home
 
@@ -457,22 +455,22 @@
 
     * Installing Apache Tomcat
 
-      http://tomcat.apache.org/tomcat-6.0-doc/setup.html
+      http://tomcat.apache.org/tomcat-7.0-doc/setup.html
 
     * Windows service HOW-TO
 
-      http://tomcat.apache.org/tomcat-6.0-doc/windows-service-howto.html
+      http://tomcat.apache.org/tomcat-7.0-doc/windows-service-howto.html
 
 The binary files of Apache Commons Daemon in Apache Tomcat distributions
 for Windows are named:
 
-  - "tomcat6.exe"
-  - "tomcat6w.exe"
+  - "tomcat7.exe"
+  - "tomcat7w.exe"
 
 These files are renamed copies of "prunsrv.exe" and "prunmgr.exe" from
 Apache Commons Daemon distribution. The file names have a meaning: they are
 used as the service name to register the service in Windows, as well as the
 key name to store distinct configuration for this installation of
-"procrun". If you would like to install several instances of Tomcat 6.0
+"procrun". If you would like to install several instances of Tomcat 7.0
 in parallel, you have to further rename those files, using the same naming
 scheme.
