diff --git a/README.md b/README.md
index e392101..6ab907a 100755
--- a/README.md
+++ b/README.md
@@ -1,9 +1,9 @@
-# Papyrus Information Modeling
-Papyrus Information Modeling is a Papyrus-based modeling product that is customized and streamlined for users interested in modeling the static structure of information with UML class diagrams. For more information, please also confer the [Eclipse Wiki](https://wiki.eclipse.org/Papyrus_for_Information_Modeling). This read-me file rather addresses developers and contributors.
+# Papyrus for Information Modeling
+Papyrus for Information Modeling is a Papyrus-based modeling product that is customized and streamlined for users interested in modeling the static structure of information with UML class diagrams. For more information, please also confer the [Eclipse Wiki](https://wiki.eclipse.org/Papyrus_for_Information_Modeling). This read-me file rather addresses developers and contributors.
 
 ## Code repository ##
 
-The repository is hosted at [Eclipse](http://git.eclipse.org/c/papyrus/org.eclipse.papyrus-informationmodeling.git). In addition, there is a clone on [Github](https://github.com/eclipsesource/org.eclipse.papyrus-informationmodeling).
+The repository is hosted at [Eclipse](http://git.eclipse.org/c/papyrus/org.eclipse.papyrus-informationmodeling.git). In addition, there is a (not always up-to-date) clone on [Github](https://github.com/eclipsesource/org.eclipse.papyrus-informationmodeling).
 
 This repository is organized around the logical software components:
 
@@ -46,7 +46,7 @@
 
 ## Building the product ##
 
-This product is built on the [Eclipse Hudson instance](https://hudson.eclipse.org/papyrus/view/InformationModeling/). In addition, the repository clone at Github is built at [Travis CI](https://travis-ci.org/eclipsesource/org.eclipse.papyrus-informationmodeling).
+This product is built on the [Eclipse Hudson instance](https://ci.eclipse.org/papyrus/job/papyrus-informationmodeling-gerrit/). In addition, the repository clone at Github is built at [Travis CI](https://travis-ci.org/eclipsesource/org.eclipse.papyrus-informationmodeling).
 
 Build status of the master branch at *Travis CI*: [![Build Status](https://travis-ci.org/eclipsesource/org.eclipse.papyrus-informationmodeling.svg?branch=master)](https://travis-ci.org/eclipsesource/org.eclipse.papyrus-informationmodeling)
 
@@ -54,9 +54,9 @@
 
 The nightly builds can be downloaded for your platform from the following locations:
 
-* [Papyrus Information Modeling based on Eclipse Neon for '''Windows 64bit'''](https://hudson.eclipse.org/papyrus/view/InformationModeling/job/papyrus-informationmodeling-neon/lastSuccessfulBuild/artifact/releng/org.eclipse.papyrus.information.modeling.product/target/products/org.eclipse.papyrus.information.modeling.product-win32.win32.x86_64.zip)
-* [Papyrus Information Modeling based on Eclipse Neon for '''Linux 64bit'''](https://hudson.eclipse.org/papyrus/view/InformationModeling/job/papyrus-informationmodeling-neon/lastSuccessfulBuild/artifact/releng/org.eclipse.papyrus.information.modeling.product/target/products/org.eclipse.papyrus.information.modeling.product-linux.gtk.x86_64.zip)
-* [Papyrus Information Modeling based on Eclipse Neon for '''MacOS X 64bit'''](https://hudson.eclipse.org/papyrus/view/InformationModeling/job/papyrus-informationmodeling-neon/lastSuccessfulBuild/artifact/releng/org.eclipse.papyrus.information.modeling.product/target/products/org.eclipse.papyrus.information.modeling.product-macosx.cocoa.x86_64.tar.gz)
+* [Papyrus Information Modeling based on Eclipse Neon for '''Windows 64bit'''](https://ci.eclipse.org/papyrus/job/papyrus-informationmodeling-master/lastSuccessfulBuild/artifact/releng/org.eclipse.papyrus.information.modeling.product/target/products/org.eclipse.papyrus.information.modeling.product-win32.win32.x86_64.zip)
+* [Papyrus Information Modeling based on Eclipse Neon for '''Linux 64bit'''](https://ci.eclipse.org/papyrus/job/papyrus-informationmodeling-master/lastSuccessfulBuild/artifact/releng/org.eclipse.papyrus.information.modeling.product/target/products/org.eclipse.papyrus.information.modeling.product-linux.gtk.x86_64.zip)
+* [Papyrus Information Modeling based on Eclipse Neon for '''MacOS X 64bit'''](https://ci.eclipse.org/papyrus/job/papyrus-informationmodeling-master/lastSuccessfulBuild/artifact/releng/org.eclipse.papyrus.information.modeling.product/target/products/org.eclipse.papyrus.information.modeling.product-macosx.cocoa.x86_64.tar.gz)
 
 All downloads are provided under the terms and conditions of the [Eclipse Foundation Software User Agreement](https://www.eclipse.org/legal/epl/notice.php) unless otherwise specified.
 
