diff --git a/BUILDING b/BUILDING
index c218581..260e8d2 100644
--- a/BUILDING
+++ b/BUILDING
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-Building Apache ServiceMix 4
+Building Apache ServiceMix 5
 ============================
 
 Initial Setup
@@ -28,7 +28,7 @@
    JDK location, and that your PATH includes %JAVA_HOME%\bin (windows) or 
    $JAVA_HOME$/bin (unix).
 
-3) Install Maven 2.2.1, which can be downloaded from 
+3) Install Maven 3.0.5, which can be downloaded from 
    http://maven.apache.org/download.html. Make sure that your PATH includes 
    the MVN_HOME/bin directory. 
 
@@ -36,17 +36,24 @@
 Building
 --------
 
-1) Change to the top level directory of Apache ServiceMix 4 source distribution.
+1) Change to the top level directory of Apache ServiceMix 5 source distribution.
+
 2) Run
          $> mvn
+         
    This will compile Apache ServiceMix 4 and run all of the tests in the 
-   Apache ServiceMix Kernel source distribution. Alternatively, you can run
+   Apache ServiceMix Kernel source distribution. 
+   
+   Alternatively, you can run
          $> mvn -Pfastinstall
+         
    This will compile Apache ServiceMix 4 without running the tests and takes less
    time to build.
-   Depending on the load of remote Maven 2.0 repositories, you may have 
+   
+   Depending on the load of remote Maven repositories, you may have 
    to run "mvn" several times until the required dependencies are 
    all located in your local maven repository. It usually takes some time for 
    maven to download required dependencies in the first build.
+   
 3) The distributions will be available under "assembly/target" directory.
 
diff --git a/README b/README
index 8b72445..2385c1a 100644
--- a/README
+++ b/README
@@ -32,30 +32,30 @@
 
 Getting Started
 ===============
-For an Apache ServiceMix 4 source distribution, please read 
-BUILDING for instructions on building Apache ServiceMix 4.
+For an Apache ServiceMix 5 source distribution, please read 
+BUILDING for instructions on building Apache ServiceMix 5.
 
-For an Apache ServiceMix 4 binary distribution, please read 
+For an Apache ServiceMix 5 binary distribution, please read 
 RELEASE-NOTES for installation instructions and list of supported
 and unsupported features.
 
 Alternatively, you can also find out how to get started here:
-    http://servicemix.apache.org/smx4/
+    http://servicemix.apache.org/docs/5.0.x/
 
 If you need more help try talking to us on our mailing lists
     http://servicemix.apache.org/mailing-lists.html
 
-If you find any issues with ServiceMix 4, please submit reports 
+If you find any issues with ServiceMix 5, please submit reports 
 with JIRA here:
-    http://issues.apache.org/activemq/browse/SMX4
+    http://issues.apache.org/jira/browse/SM
 
 We welcome contributions, and encourage you to get involved in the 
 ServiceMix community. If you'd like to learn more about how you can 
 contribute, please see:
-    http://servicemix.apache.org/contributing.html
+    http://servicemix.apache.org/community/contributing.html
 
 Many thanks for using Apache ServiceMix.
 
 
 The ServiceMix Team
-http://servicemix.apache.org/team.html
+http://servicemix.apache.org/community/team.html
