diff --git a/aster/src/main/assembly/binary-assembly.xml b/aster/src/main/assembly/binary-assembly.xml
deleted file mode 100644
index f4f0121b73ea24cfad693dcd7fe4ebb4ce2d489e..0000000000000000000000000000000000000000
--- a/aster/src/main/assembly/binary-assembly.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<assembly>
-  <id>bin</id>
-  <formats>
-    <format>zip</format>
-  </formats>
-  <dependencySets>  
-    <dependencySet>  
-      <outputDirectory>/lib</outputDirectory>
-      <excludes>
-        <exclude>org.orekit:rugged</exclude>
-      </excludes>
-      <unpack>false</unpack>  
-    </dependencySet>  
-  </dependencySets>  
-  <componentDescriptors>
-    <componentDescriptor>src/main/assembly/misc-files.xml</componentDescriptor>
-    <componentDescriptor>src/main/assembly/jar-files.xml</componentDescriptor>
-  </componentDescriptors>
-</assembly>
-
diff --git a/aster/src/main/assembly/building-files.xml b/aster/src/main/assembly/building-files.xml
deleted file mode 100644
index c44724029af0274e241708e32017e5ff5afbcafc..0000000000000000000000000000000000000000
--- a/aster/src/main/assembly/building-files.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<component>
-  <fileSets>
-    <fileSet>
-      <includes>
-        <include>pom.xml</include>
-      </includes>
-      <useDefaultExcludes>true</useDefaultExcludes>
-    </fileSet>
-    <fileSet>
-      <directory>src</directory>
-      <useDefaultExcludes>true</useDefaultExcludes>
-    </fileSet>
-  </fileSets>
-</component>
\ No newline at end of file
diff --git a/aster/src/main/assembly/jar-files.xml b/aster/src/main/assembly/jar-files.xml
deleted file mode 100644
index e89c65b097dd78d33278f95331d4781b238c5b19..0000000000000000000000000000000000000000
--- a/aster/src/main/assembly/jar-files.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<component>
-  <fileSets>
-    <fileSet>
-      <directory>target</directory>
-      <outputDirectory></outputDirectory>
-      <includes>
-        <include>*.jar</include>
-      </includes>
-    </fileSet>
-  </fileSets>
-</component>
\ No newline at end of file
diff --git a/aster/src/main/assembly/misc-files.xml b/aster/src/main/assembly/misc-files.xml
deleted file mode 100644
index f1bf4a5f7d4f2d0e6c71beb391f75c49ef9e4577..0000000000000000000000000000000000000000
--- a/aster/src/main/assembly/misc-files.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<component>
-  <fileSets>
-    <fileSet>
-      <outputDirectory>/licenses</outputDirectory>  
-      <includes>
-       <include>LICENSE.txt</include>
-       <include>NOTICE.txt</include>
-       <include>Apache-Commons-Math-LICENSE.txt</include>
-       <include>Orekit-LICENSE.txt</include>
-      </includes>
-    </fileSet>
-  </fileSets>
-</component>
diff --git a/aster/src/main/assembly/source-assembly.xml b/aster/src/main/assembly/source-assembly.xml
deleted file mode 100644
index d68ffcb21a892551c5042ba2fa9bb67fcc4c3f8f..0000000000000000000000000000000000000000
--- a/aster/src/main/assembly/source-assembly.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<assembly>
-  <id>sources</id>
-  <formats>
-    <format>zip</format>
-  </formats>
-  <componentDescriptors>
-    <componentDescriptor>src/main/assembly/misc-files.xml</componentDescriptor>
-    <componentDescriptor>src/main/assembly/building-files.xml</componentDescriptor>
-  </componentDescriptors>
-</assembly>
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index ab3fa52f25b8f5ad701ef8e00b6574f14040e2d5..f5148eeb4933ae26880d5d2f0e68e2fbcf4ef4ca 100644
--- a/pom.xml
+++ b/pom.xml
@@ -297,6 +297,9 @@
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-report-plugin</artifactId>
         <version>${rugged.maven-surefire-report-plugin.version}</version>
+        <configuration>
+          <aggregate>true</aggregate>
+        </configuration>
       </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
diff --git a/src/main/assembly/binary-assembly.xml b/src/main/assembly/binary-assembly.xml
index a18df15b0ebdc094dff9886a4067cc9dbb87be0e..64f01be1c54a9327877d050c61aba6f8b3c2699f 100644
--- a/src/main/assembly/binary-assembly.xml
+++ b/src/main/assembly/binary-assembly.xml
@@ -1,4 +1,6 @@
-<assembly>
+<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
   <id>bin</id>
   <formats>
     <format>zip</format>
@@ -7,4 +9,12 @@
     <componentDescriptor>src/main/assembly/misc-files.xml</componentDescriptor>
     <componentDescriptor>src/main/assembly/jar-files.xml</componentDescriptor>
   </componentDescriptors>
+  <moduleSets>
+    <moduleSet>
+      <includes>
+        <include>org.orekit:rugged-aster</include>
+        <include>org.orekit:rugged-core</include>
+      </includes>
+    </moduleSet>
+  </moduleSets>
 </assembly>
\ No newline at end of file
diff --git a/src/main/assembly/building-files.xml b/src/main/assembly/building-files.xml
index 9c3f9cbf56b3008b5f69dd8497fbe72286f98a5b..9eb2f438fcbd322e82cde58245ce28fbd107977e 100644
--- a/src/main/assembly/building-files.xml
+++ b/src/main/assembly/building-files.xml
@@ -4,7 +4,6 @@
       <includes>
         <include>BUILDING.txt</include>
         <include>pom.xml</include>
-        <include>build.xml</include>
         <include>checkstyle.xml</include>
         <include>findbugs-exclude-filter.xml</include>
         <include>license-header.txt</include>
diff --git a/src/main/assembly/misc-files.xml b/src/main/assembly/misc-files.xml
index 8e5657554a6cf2f3bd391d5f4d4005cd09eba70f..b6666a6c5d1b35a39ae80be5640f1e1d2309d810 100644
--- a/src/main/assembly/misc-files.xml
+++ b/src/main/assembly/misc-files.xml
@@ -2,7 +2,6 @@
   <fileSets>
     <fileSet>
       <includes>
-       <include>README.txt</include>
        <include>LICENSE.txt</include>
        <include>NOTICE.txt</include>
       </includes>
diff --git a/src/main/assembly/source-assembly.xml b/src/main/assembly/source-assembly.xml
index d68ffcb21a892551c5042ba2fa9bb67fcc4c3f8f..bb6574c4900865452ead604d2dadc99261e4420a 100644
--- a/src/main/assembly/source-assembly.xml
+++ b/src/main/assembly/source-assembly.xml
@@ -1,4 +1,6 @@
-<assembly>
+<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
   <id>sources</id>
   <formats>
     <format>zip</format>
@@ -7,4 +9,12 @@
     <componentDescriptor>src/main/assembly/misc-files.xml</componentDescriptor>
     <componentDescriptor>src/main/assembly/building-files.xml</componentDescriptor>
   </componentDescriptors>
+  <moduleSets>
+    <moduleSet>
+      <includes>
+        <include>org.orekit:rugged-aster</include>
+        <include>org.orekit:rugged-core</include>
+      </includes>
+    </moduleSet>
+  </moduleSets>
 </assembly>
\ No newline at end of file
diff --git a/src/site/fml/faq.fml b/src/site/fml/faq.fml
new file mode 100644
index 0000000000000000000000000000000000000000..28a2154d908197fcd6cb66e1cb26a4e5bd2f62fb
--- /dev/null
+++ b/src/site/fml/faq.fml
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 2013-2014 CS Systèmes d'Information
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+ 
+    http://www.apache.org/licenses/LICENSE-2.0
+ 
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+<faqs title="Frequently Asked Questions" toplink="false">
+
+  <part id="references">
+    <title>References</title>
+    <faq id="projects">
+      <question>
+        Has Rugged already been used?
+      </question>
+      <answer>
+        <p>
+          Yes, it is used in successful operational missions.
+        </p>
+        <p>The first operational use of Rugged was Sentinel 2 ESA mission.
+        Rugged is used in the Image Processing Facility.
+        </p>
+      </answer>
+    </faq>
+    <faq id="validation">
+      <question>
+        Is Rugged validated?
+      </question>
+      <answer>
+        <p>
+          Yes, rugged has been validated, by comparison with other image
+          processing systems.
+        </p>
+        <p>
+          Note that as Rugged takes into account some effects that may not be considered
+          by other systems, validation implies careful configuration and analysis of
+          discrepancies. Some differences come from missing correction in other systems,
+          like the Δδψ and Δδε precession/nutation correction parameters, or the light time
+          correction, or the aberration of light correction, or the non-straight line nature
+          of line-of-sight in geodetic space ...). These differences are mostly dealt with
+          by disabling Rugged correction to match the other systems (only for test purposes,
+          of course, the corrections should be enabled for operational use!). Some differences
+          come from different models like precession and nutation compliant to latest IERS
+          conventions, or different Earth frames. These differences are mostly dealt with by
+          configuring Rugged to use the same legacy models (these legacy models like for example
+          TOD and MOD frames are available for consistency with existing systems).
+        </p>
+      </answer>
+    </faq>
+  </part>
+
+  <part id="installation">
+    <title>Installation</title>
+    <faq id="dependencies">
+      <question>
+        What are the dependencies for Rugged?
+      </question>
+      <answer>
+        <p>
+          Rugged core relies on the Orekit space flight dynamics library and on
+          Apache Commons Math mathematical libraries. Both libraries are free
+          software libraries distributed under the terms of the Apache Software
+          License version 2.0.
+        </p>
+        <p>
+          Rugged aster relies on Rugged core and on Apache Commons imaging libraries.
+          Both libraries are free software libraries distributed under the terms of
+          the Apache Software License version 2.0.
+        </p>
+      </answer>
+    </faq>
+  </part>
+
+  <part id="runtime">
+    <title>Runtime errors</title>
+    <faq id="orekit-data-zip-not-up-to-date">
+      <question>
+        I get an error "no IERS UTC-TAI history data loaded" (or something similar in another language). What does it mean?
+      </question>
+      <answer>
+        <p>
+          This error is probably the most frequent one, or at least it's the first one new users encounter.
+        </p>
+        <p>
+          Rugged relies on the Orekit library to perform all space flight related comupation (typically
+          frames transforms). This library in turn needs some external data to be loaded in order to run.
+          This includes UTC-TAI history for leap seconds handling, Earth Orientation Parameters for
+          transforms to and from Earth fixed frames, or planetar ephemerides for Sun direction, for example.
+        </p>
+        <p>
+          The error message "no IERS UTC-TAI history data loaded" means the UTC-TAI history file which is used for leap
+          seconds management was not found. As leap seconds are used each time a UTC date is used, this message is
+          often seen very early and is the first one unsuspecting users experience. It often means the user forgot
+          to configure Orekit to load data.
+        </p>
+        <p>
+          Configuring data loading is explained in the configuration page For a start, the simplest configuration
+          is to download the orekit-data.zip file from the download page and to either set the "orekit.data.path" Java
+          property to this file or to manually configure the DataProvidersManager to use it. This example archive file
+          contains the required UTC-TAI history file among others. Configuring Orekit to use this archive file can be done
+          by keeping the file as a zip archive and pointing to this archive, or by unzipping it and pointing to the unzipped folder.
+        </p>
+        <p>
+          Here is an example using the file in zip format:
+        </p>
+        <p>
+          DataProvidersManager.addProvider(new ZipJarCrawler(new File("/path/to/the/zip/file/orekit-data.zip")));
+        </p>
+        <p>
+          Here is an example using the folder resulting from expanding the archive:
+        </p>
+        <p>
+          DataProvidersManager.addProvider(new DirectoryCrawler(new File("/path/to/the/folder/orekit-data")));
+        </p>
+        <p>
+          Using a folder allows one to change the data in it, e.g., adding new EOP files as they are published by IERS.
+        </p>
+      </answer>
+    </faq>
+  </part>
+</faqs>
diff --git a/src/site/markdown/building.md b/src/site/markdown/building.md
new file mode 100644
index 0000000000000000000000000000000000000000..b75c3bf05e62315be4e0417e07f9b9344efafd4a
--- /dev/null
+++ b/src/site/markdown/building.md
@@ -0,0 +1,97 @@
+<!--- Copyright 2013-2014 CS Systèmes d'Information
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+  
+    http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+Building Rugged
+===============
+
+Rugged can be built from source using several different tools.
+  
+All these tools are Java based and can run on many different operating
+systems, including Unix, GNU/Linux, Windows and Mac OS X. Some GNU/Linux
+distributions provide these tools in their packages repositories.
+
+Building with Maven 3
+---------------------
+
+[Maven](http://maven.apache.org/) is a build tool that goes far beyond
+simply compiling and packaging a product. It is also able to resolve
+dependencies (including downloading the appropriate versions from the public
+repositories), to run automated tests, to launch various checking tools and
+to create a web site for a project. It runs on any platform supporting Java.
+  
+For systems not providing maven as a package, maven can be
+[downloaded](http://maven.apache.org/download.cgi) from its site at the
+Apache Software Foundation. This site also explains the
+installation procedure.
+
+As with all maven enabled projects, building Rugged is straightforward, simply
+run:
+
+    mvn assembly:single
+
+The preceding command will perform all dependencies retrieval, compilation,
+tests and packaging for you. At the end, it will create several files named
+{module}/target/rugged-{module}-x.y.jar where {module} is the module name (aster,
+core, ...) and x.y is the version number.
+
+If you need to configure a proxy server for dependencies retrieval, see
+the [Guide to using proxies](http://maven.apache.org/guides/mini/guide-proxies.html)
+page at the maven site.
+
+If you already use maven for your own projects (or simply eclipse, see
+below), you may want to install rugged in your local repository. This is done
+with the following command:
+
+    mvn install
+
+For other commands like generating the site, or generating the
+[checkstyle](http://checkstyle.sourceforge.net/),
+[findbugs](http://findbugs.sourceforge.net/) or
+[jacoco](http://www.eclemma.org/jacoco/) reports, see the maven
+plugins documentation at [maven site](http://maven.apache.org/plugins/index.html).
+
+Building with Eclipse
+---------------------
+
+[Eclipse](http://www.eclipse.org/) is a very rich Integrated Development
+Environment (IDE). It is a huge product and not a simple build tool.
+
+For systems not providing eclipse as a package, it can be downloaded from its
+site at the [Eclipse Foundation](http://www.eclipse.org/downloads/).
+
+The simplest way to use Rugged with Eclipse is to follow these steps:
+
+  * unpack the distribution inside your Eclipse workspace
+
+  * create a new java project from existing sources and direct Eclipse to the
+     directory where you unpacked Rugged
+
+  * set the source folders to
+    * core/src/main/java
+	* aster/src/main/java
+	* core/src/test/java
+	* aster/src/test/java
+	* core/src/main/resources
+	* aster/src/main/resources
+	* core/src/test/resources
+	* aster/src/test/resources
+    in the source tab of the Configure Build Path dialog
+
+  * set the external libraries to JRE system library (provided by Eclipse),
+    Junit 4.x (provided by Eclipse), Apache Commons Math (available at
+    Apache Software Foundation Commons Math
+    [downloads page](http://commons.apache.org/proper/commons-math/download_math.cgi)),
+    and Orekit (available at Orekit
+    [downloads page](https://www.orekit.org/forge/projects/orekit/files))
+    in the libraries tab of the Configure Build Path dialog
diff --git a/src/site/markdown/contact.md b/src/site/markdown/contact.md
new file mode 100644
index 0000000000000000000000000000000000000000..93545a6aa97718109ad9f28a02c0defb09d4047c
--- /dev/null
+++ b/src/site/markdown/contact.md
@@ -0,0 +1,61 @@
+<!--- Copyright 2013-2014 CS Systèmes d'Information
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+  
+    http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+Contacts
+========
+
+Mailing lists
+-------------
+
+Most discussions should occur on the public mailing lists.
+
+|---------------|------------------------------|------------------------------------------------------------|-------------------------------------------------------|
+|     topic     |         post address         |                      subscribe URL                         |                      archive URL                      |
+|---------------|------------------------------|------------------------------------------------------------|-------------------------------------------------------|
+|  announces    | orekit-announces@orekit.org  |  {{https://www.orekit.org/wws/subscribe/orekit-announces}} |  {{https://www.orekit.org/wws/arc/orekit-announces}}  |
+|---------------|------------------------------|------------------------------------------------------------|-------------------------------------------------------|
+|     users     |   orekit-users@orekit.org    |  {{https://www.orekit.org/wws/subscribe/orekit-users}}     |  {{https://www.orekit.org/wws/arc/orekit-users}}      |
+|---------------|------------------------------|------------------------------------------------------------|-------------------------------------------------------|
+|   developers  | orekit-developers@orekit.org | {{https://www.orekit.org/wws/subscribe/orekit-developers}} |  {{https://www.orekit.org/wws/arc/orekit-developers}} |
+|---------------|------------------------------|------------------------------------------------------------|-------------------------------------------------------|
+
+Please register to these mailing lists before attempting to post!
+
+We're preventing unregistered members from posting in order to prevent spam. Thank you.
+
+Technical contact
+-----------------
+
+If for some reason you cannot use the public lists, you can reach the CS
+Systèmes d'Information Rugged team for any question (either technically
+oriented or administrative) at the following email address:
+[orekit@c-s.fr](mailto:orekit@c-s.fr)
+
+Administrative contact
+----------------------
+
+If you want to discuss with the space division staff at CS Systèmes d'Information,
+please use the following address:
+
+|:---------------------------------------------------------------------|
+|  CS Systèmes d'Information                                           |
+|  Business Unit Espace et Renseignement                               |
+|  parc de la plaine - 5 rue Brindejonc des Moulinais                  |
+|  BP 15872                                                            |
+|  31506 Toulouse CEDEX 5                                              |
+|  FRANCE                                                              |
+|:---------------------------------------------------------------------|
+|  phone: +33 5-61-17-66-66 (ask for Luc Maisonobe or Aude Espesset)   |
+|  fax:   +33 5-61-34-84-15                                            |
+|:---------------------------------------------------------------------|
diff --git a/src/site/markdown/contributing.md b/src/site/markdown/contributing.md
new file mode 100644
index 0000000000000000000000000000000000000000..7e3caea85d66b069597dbbf872db700816ad4993
--- /dev/null
+++ b/src/site/markdown/contributing.md
@@ -0,0 +1,26 @@
+<!--- Copyright 2013-2014 CS Systèmes d'Information
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+  
+    http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+Contributing to Ruggged
+=======================
+
+Rugged is free software, which means you can use the source code as you wish,
+without charges, in your applications, and that you can improve it and have
+your improvements included in the next mainstream release.
+
+If you are interested in participating in the development effort,
+subscribe to the mailing lists and step up to discuss it. The
+larger the community is, the better Rugged will be. The main
+rule is that everything intended to be included in Rugged core must
+be distributed under the Apache License Version 2.0.
diff --git a/src/site/markdown/design.md b/src/site/markdown/design.md
deleted file mode 100644
index 2e897d8e91903a070de692fbd74eb4c5ded7fc2e..0000000000000000000000000000000000000000
--- a/src/site/markdown/design.md
+++ /dev/null
@@ -1,20 +0,0 @@
-A First Level Header
-====================
-
-A Second Level Header
----------------------
-
-Now is the time for all good men to come to
-the aid of their country. This is just a
-regular paragraph.
-
-The quick brown fox jumped over the lazy
-dog's back.
-
-### Header 3
-
-> This is a blockquote.
-> 
-> This is the second paragraph in the blockquote.
->
-> ## This is an H2 in a blockquote
diff --git a/src/site/markdown/design/overview.md b/src/site/markdown/design/overview.md
new file mode 100644
index 0000000000000000000000000000000000000000..8011c568c6806bcf2f2df0ef010d3317b59910dc
--- /dev/null
+++ b/src/site/markdown/design/overview.md
@@ -0,0 +1,23 @@
+<!--- Copyright 2013-2014 CS Systèmes d'Information
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+  
+    http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+Global architecture
+===================
+
+Rugged is an intermediate level mission-independent library. It relies on
+the Orekit library and on the Apache Commons Math library. It is itself
+intended to be used from a mission-specific interface by one or more
+image processing applications.
+
+![architecture](../images/rugged-architecture.png)
diff --git a/src/site/markdown/downloads.md b/src/site/markdown/downloads.md
new file mode 100644
index 0000000000000000000000000000000000000000..c3fecbf661e6e56659f13f447a91b63e8fc9899b
--- /dev/null
+++ b/src/site/markdown/downloads.md
@@ -0,0 +1,44 @@
+<!--- Copyright 2013-2014 CS Systèmes d'Information
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+  
+    http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+Downloads
+=========
+
+Development Library version
+---------------------------
+
+The development version of the Rugged library is always available to
+download from our version control system. We use [ Git](http://git-scm.com/)
+as our SCM. The anonymous read access to our Git repository  allows users who
+need the latest features and the latest bug fixes to get them even before an
+official release.
+
+The Git repository can be cloned using the following command, which can
+be easily adapted if you are using one of the numerous Git graphical
+user interface available or if Git is supported by you integrated
+development environment:
+
+    git clone http://www.orekit.org/git/rugged
+
+Released Library versions
+-------------------------
+
+Rugged is provided both in several packaging systems. You can pick up
+the one that better suits your needs. Source packages are the most complete
+ones since the other packages (binary jars, javadoc jars and even the bulk
+of this site) are created from these sources.
+
+Rugged is also available in maven central repository,
+with groupID org.orekit and artifactId orekit, so maven internal mechanism
+will download automatically all artifacts and dependencies as required.
diff --git a/src/site/markdown/guidelines.md b/src/site/markdown/guidelines.md
new file mode 100644
index 0000000000000000000000000000000000000000..b1c879c323bee6bc3a258e9dea2e570b5ec84d4b
--- /dev/null
+++ b/src/site/markdown/guidelines.md
@@ -0,0 +1,168 @@
+<!--- Copyright 2013-2014 CS Systèmes d'Information
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+  
+    http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+Development Guidelines
+======================
+
+The following guidelines are used for Rugged development.
+
+Development
+-----------
+
+Rugged is an intermediate level library. It may be used in very different
+contexts which cannot be foreseen, from quick studies up to critical
+operations. The main driving goals are the following ones:
+
+  * validation
+
+  * robustness
+
+  * maintainability
+
+  * efficiency
+
+The first goal, validation, implies tests must be as extensive as possible.
+They should include realistic operational cases but also contingency cases.
+The [jacoco](http://www.eclemma.org/jacoco/) tool must be used to
+monitor test coverage. A very high level of coverage is desired. We do not
+set up mandatory objective figures, but only guidelines here. However,a 60%
+line coverage would clearly not be acceptable at all and 80% would be considered
+deceptive.
+
+The second goal, robustness, has some specific implications for a low level
+component like Rugged. In some sense, it can be considered an extension of the
+previous goal as it can also be improved by testing. It can also be improved
+by automatic checking tools that analyze either source code or binary code. The
+[findbugs](http://findbugs.sourceforge.net/) tool is already configured for
+automatic checks of the library using a maven plugin.
+
+This is however not sufficient. A library is intended to be used by applications
+unknown to the library development team. The library development should be as
+flexible as possible to be merged into an environment with specific constraints.
+For example, perhaps an application should run 24/7 during months or years, so
+caching all results to improve efficiency may prove disastrous in such a use case,
+or it should be embedded in a server application, so printing to standard output
+should never be done. Experience has shown that developing libraries is more
+difficult than developing high level applications where most of the constraints
+are known beforehand.
+
+The third goal, maintainability, implies code must be readable, clear and
+well documented. Part of this goal is enforced by the stylistic rules explained
+in the next section, but this is only for the _automatic_ and simple checks. It
+is important to keep a clean and extensible design. Achieving simplicity is
+really hard, so this goal should not be taken too lightly. Good designs are a
+matter of balance between two few objects that do too many things internally
+an ignore each other and too many objects that do nothing alone and always need
+a bunch of other objects to work. Always think in terms of balance, and check
+what happens if you remove something from the design. Quite often, removing something
+improves the design and should be done.
+
+The fourth goal, efficiency, should be handled with care to not conflict with the
+second and third goals (robustness and maintainability). Efficiency is necessary but
+trying too much too achieve it can lead to overly complex unmaintainable code, to too
+specific fragile code, and unfortunately too often without any gain after all because
+of premature optimization and unfounded second-guess.
+
+One surprising trick, that at first sight might seem strange and inappropriate has
+been used in many part for Rugged and should be considered a core guideline. It
+is the use of _immutable_ objects. This trick improves efficiency because many costly
+copying operation are avoided, even unneeded one added for defensive programming. It
+improves maintainability because both the classes themselves and the classes that use
+them are much simpler. It also improves robustness because many (really many ...)
+difficult to catch bugs are caused by mutable objects that are changed in some deeply
+buried code and have an impact on user code that forgot to perform a defensive copy.
+Orbits, dates, vectors, and rotations are all immutable objects.
+
+Style
+-----
+
+For reading ease and consistency, the existing code style should be
+preserved for all new developments. The rules are common ones, inherited
+mainly from the Sun [Code Conventions for the Java
+Programming Language](http://java.sun.com/docs/codeconv/) guide style and
+from the default [checkstyle](http://checkstyle.sourceforge.net/) tool
+configuration. A few of these rules are displayed below. The complete
+definition is given by the checkstyle configuration file in the project
+root directory.
+
+*header rule*
+: all source files start with the Apache license header,
+  
+*indentation rules*
+: no tabs, 4 spaces indentation, no indentation for case statements,
+  
+*operators wrapping rules*
+: lines are wrapped after operators (unlike Sun),
+  
+*whitespace rules*
+: operators are surrounded by spaces, method parameters open parenthesis
+  is not preceded by space, lines do not end with white space,
+  
+*curly brace rules*
+: open curly brace are at end of line, with the matching closing curly brace
+  aligned with the start of the corresponding keyword (_if_, _for_,
+  _while_, _case_ or _do_),
+  
+*encoding rules*
+: characters encoding is _UTF8_, the git property _core.autocrlf_ should be
+  set to _input_ on Linux development machines and to _true_ on Windows
+  development machines (to ensure proper conversion on all operating systems),
+  
+*naming rules*
+: classes names begin with upper case, instance methods and fields
+  names begin with lower case, class fields are all upper case with
+  words separated by underscores,
+  
+*ordering rules*
+: class variables come first, followed by instance variables, followed
+  by constructors, and followed by methods, public modifiers come first,
+  followed by protected modifiers followed by private modifiers,
+  
+*javadoc rules*
+: all elements have complete javadoc, even private fields and methods
+  (there are some rare exceptions, in case of code translated from
+  the fortran language and models with huge parameters sets),
+  
+*robustness rules*
+: switch/case construct have a default argument, even when all possible
+  cases are already handled, as many classes as possible are immutable,
+  
+*miscellaneous rules*
+: _star_ imports are forbidden, parameters and local variables are final
+  wherever possible.
+
+Rules summary
+-------------
+
+|---|-----------------|----------------------------------------------------------------------------------|
+| 1 |    validation   | seek for a line test coverage of at least 80% (more is better)                   |
+|---|-----------------|----------------------------------------------------------------------------------|
+| 2 |    robustness   | fix _all_ errors and warnings found by findbugs                                  |
+|---|-----------------|----------------------------------------------------------------------------------|
+| 3 |    robustness   | do not make assumptions on the runtime environment of applications using Rugged  |
+|   |                 | (they may be embedded with no console, no possible user interaction, no network, |
+|   |                 | no writable file system, no stoppable main program, have memory constraints,     |
+|   |                 | time constraints, be run in different linguistic contexts ...)                   |
+|---|-----------------|----------------------------------------------------------------------------------|
+| 4 | maintainability | follow Occam's razor principle                                                   |
+|   |                 | or its declination in computer science: KISS (Keep It Simple, Stupid)            |
+|---|-----------------|----------------------------------------------------------------------------------|
+| 5 |    efficiency   | seek efficiency, but do not overstep robustness and maintainability              |
+|---|-----------------|----------------------------------------------------------------------------------|
+| 6 |    robustness   | use immutable objects as much as possible                                        |
+|   | maintainability |                                                                                  |
+|   |    efficiency   |                                                                                  |
+|---|-----------------|----------------------------------------------------------------------------------|
+| 7 |      style      | fix _all_ errors and warnings found by checkstyle                                |
+|---|-----------------|----------------------------------------------------------------------------------|
diff --git a/src/site/markdown/index.md b/src/site/markdown/index.md
new file mode 100644
index 0000000000000000000000000000000000000000..45133c77139f0543d0daeed76eb2308899abd5e0
--- /dev/null
+++ b/src/site/markdown/index.md
@@ -0,0 +1,63 @@
+<!--- Copyright 2013-2014 CS Systèmes d'Information
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+  
+    http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+Overview
+========
+
+  Rugged is an add-on for Orekit handling Digital Elevation Models
+  contribution to line of sight computation. It is a free software
+  low-level library written in Java.
+
+  It mainly provides direct and inverse localization, i.e. it allows
+  to compute accurately which ground point is looked at from a specific
+  pixel in a spacecraft instrument, and conversely which pixel will
+  see a specified ground point.
+
+Features
+--------
+
+  * Direct localization
+
+  * Inverse localization
+
+  * Localized in several languages
+
+    * English
+
+    * French
+
+    * Galician
+
+Free software
+-------------
+
+Rugged is freely available both in source and binary formats, with all related
+documentation and tests.
+
+It is distributed under the [Apache License Version 2.0](./license.html). This
+is a well known business-friendly license. This means anybody can use it to build
+any application, free or not. There are no strings attached to your own code.
+
+Everybody is encouraged to use Orekit as a common low level layer to improve
+interoperability in space systems.
+
+Maintained library
+------------------
+
+Rugged has been in development since 2013 inside [CS Systèmes
+d'Information](http://www.c-s.fr/) and is still used and maintained by its dual teams
+of space dynamics and image processing experts.
+
+Rugged is used for image processing of the Sentinel 2 missiong at European Space
+Agency (ESA).
diff --git a/src/site/markdown/sources.md b/src/site/markdown/sources.md
new file mode 100644
index 0000000000000000000000000000000000000000..9191a4cf5b35c393404b596178c67a5b71a3346a
--- /dev/null
+++ b/src/site/markdown/sources.md
@@ -0,0 +1,41 @@
+<!--- Copyright 2013-2014 CS Systèmes d'Information
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+  
+    http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+Getting the sources
+===================
+
+Released versions
+-----------------
+
+In order to get the source for officially released versions, go to the
+[Files](https://www.orekit.org/forge/projects/rugged/files) tab in Rugged
+forge and select one of the rugged-{module}-x.y-src.zip files. The module
+part is the module (you need at least the core module, but other modules
+may be interesting for you too). The x.y part in the name specifies the version.
+
+Development version
+-------------------
+
+The development of the Rugged project is done using the [Git](http://git-scm.com/)
+source code control system. Rugged Git master repository is available online.
+
+ * you can browse it using the [Repository](https://www.orekit.org/forge/projects/rugged/repository)
+    tab in Rugged forge
+ * you can clone it anonymously with the command:
+
+    git clone http://www.orekit.org/git/rugged
+
+ ** if you are a committer, you can clone it using your ssh credentials with the command:
+
+    git clone ssh://git@www.orekit.org/rugged.git
diff --git a/src/site/resources/images/rugged-architecture.png b/src/site/resources/images/rugged-architecture.png
new file mode 100644
index 0000000000000000000000000000000000000000..0edec0097fdac59551fde9731f48623a034eedac
Binary files /dev/null and b/src/site/resources/images/rugged-architecture.png differ
diff --git a/src/site/resources/images/rugged-logo.png b/src/site/resources/images/rugged-logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..55e0717ed58d522ffe9b76d6e038968dc8fa50ce
Binary files /dev/null and b/src/site/resources/images/rugged-logo.png differ
diff --git a/src/site/site.xml b/src/site/site.xml
index 718a808fdf96f46bdfd64a7c50761762726f7ac6..8641773014df59d25e94fcca035841aa021e17a2 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -16,12 +16,12 @@
 <project name="Rugged">
   <bannerLeft>
     <name>CS Syst&#232;mes d&#039;Information</name>
-    <src>/images/logo_cs_2008_ang.jpg</src>
-    <href>http://uk.c-s.fr/</href>
+    <src>/images/cs_logiciel_dev_32pixelsgri.png</src>
+    <href>http://www.c-s.fr/</href>
   </bannerLeft>
   <bannerRight>
     <name>Rugged</name>
-    <src>/images/orekit-logo.png</src>
+    <src>/images/rugged-logo.png</src>
     <href>/index.html</href>
   </bannerRight>
   <body>
@@ -29,33 +29,15 @@
       <item name="Overview"            href="/index.html"          />
       <item name="Getting the sources" href="/sources.html"        />
       <item name="Building"            href="/building.html"       />
-      <item name="Configuration"       href="/configuration.html"  />
       <item name="FAQ"                 href="/faq.html"            />
       <item name="License"             href="/license.html"        />
       <item name="Downloads"           href="/downloads.html"      />
       <item name="Changes"             href="/changes-report.html" />
-      <item name="Training"            href="/training.html"       />
       <item name="Contact"             href="/contact.html"        />
     </menu>
-    <menu name="Architecture">
-      <item name="Attitudes"     href="/architecture/attitudes.html"     />
-      <item name="Bodies"        href="/architecture/bodies.html"        />
-      <item name="Errors"        href="/architecture/errors.html"        />
-      <item name="Forces"        href="/architecture/forces.html"        />
-      <item name="Frames"        href="/architecture/frames.html"        />
-      <item name="Orbits"        href="/architecture/orbits.html"        />
-      <item name="Propagation"   href="/architecture/propagation.html"   />
-      <item name="Time"          href="/architecture/time.html"          />
-      <item name="Tle"           href="/architecture/tle.html"           />
-      <item name="Utils"         href="/architecture/utils.html"         />
+    <menu name="Design">
+      <item name="Overview"  href="/design/overview.html"      />
     </menu>
-    <menu name="Tutorial">
-      <item name="Attitude"          href="/tutorial/attitude.html"          />
-      <item name="Frames"            href="/tutorial/frames.html"            />
-      <item name="Propagation"       href="/tutorial/propagation.html"       />
-      <item name="Time"              href="/tutorial/time.html"              />
-      <item name="Geomagnetic field" href="/tutorial/geomagnetic-field.html" />
-      </menu>
     <menu name="Development">
       <item name="Contributing"  href="/contributing.html"      />
       <item name="Guidelines"    href="/guidelines.html"        />
diff --git a/src/site/xdoc/changes.xml b/src/site/xdoc/changes.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f4616564ebc1067ec2a0be93ec57c52df6aaa3f0
--- /dev/null
+++ b/src/site/xdoc/changes.xml
@@ -0,0 +1,488 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!-- Copyright 2002-2014 CS Systèmes d'Information
+  Licensed to CS Systèmes d'Information (CS) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  CS licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<document>
+  <properties>
+    <title>Rugged Changes</title>
+  </properties>
+  <body>
+    <release version="1.0" date="TBD"
+             description="TBD">
+      <action dev="luc" type="update">
+        Swtiched maven configuration to multi-modules.
+      </action>
+      <action dev="luc" type="update">
+        Updated UML diagrams.
+      </action>
+      <action dev="luc" type="update">
+        Moved TileUpdate to raster package.
+      </action>
+      <action dev="luc" type="update">
+        Finalized direct localization diagrams.
+      </action>
+      <action dev="luc" type="update">
+        renamed core package into intersection.
+      </action>
+      <action dev="luc" type="update">
+        Created a utils package.
+      </action>
+      <action dev="luc" type="update">
+        Moved raster package one level up.
+      </action>
+      <action dev="luc" type="fix">
+        Fixed top package name.
+      </action>
+      <action dev="luc" type="update">
+        Updated maven plugins versions.
+      </action>
+      <action dev="luc" type="update">
+        Updated Apache Commons Version as 3.3 has now been released.
+      </action>
+      <action dev="luc" type="update">
+        Updated Orekit version.
+      </action>
+      <action dev="luc" type="update">
+        Improved performance.
+      </action>
+      <action dev="luc" type="update">
+        Disabled timing test for inverse localization.
+      </action>
+      <action dev="luc" type="update">
+        Improved inverse localization speed again!
+      </action>
+      <action dev="luc" type="update">
+        Added inverse localization from latitude and longitude only.
+        When only latitude and longitude are specified, the elevation is
+        automatically computed from the Digital Elevation Model.
+      </action>
+      <action dev="luc" type="update">
+        Simplified direct localization.
+      </action>
+      <action dev="luc" type="update">
+        Improved inverse localization performances.
+      </action>
+      <action dev="luc" type="update">
+        Added rate to the LineDatation interface.
+      </action>
+      <action dev="luc" type="update">
+        Disable timing test by default.
+      </action>
+      <action dev="luc" type="update">
+        Renamed setLineSensor into addLineSensor.
+        The new name explains more clearly that several sensors can be set up at
+        once.
+      </action>
+      <action dev="luc" type="fix">
+        First working version of inverse localization.
+      </action>
+      <action dev="luc" type="update">
+        Streamlined line sensor model.
+        We now use a single position for all pixels (but of course still
+        different line-of-sight vectors), as it doesn't really make sense to
+        consider different positions as pixels are only a few microns away from
+        each other.
+      </action>
+      <action dev="luc" type="update">
+        Ensure sensor mean plane normal has a deterministic orientation.
+      </action>
+      <action dev="luc" type="update">
+        Slightly changed the intersection refinement in flat-body.
+      </action>
+      <action dev="luc" type="update">
+        Added a flat-body implementation of refineIntersection.
+        The former implementation ignored the flat-body flag and in fact
+        corrected the flat-body ...
+      </action>
+      <action dev="luc" type="fix">
+        Fixed mean reference point position.
+      </action>
+      <action dev="luc" type="update">
+        Improved light time correction.
+        The current altitude must be considered when computing light time
+        correction. Previous computation was slightly wrong as it only computed
+        light time from the ellipsoid. This induced problems when computing
+        inverse correction.
+      </action>
+      <action dev="luc" type="fix">
+        Fixed computation of latitude crossings for line of sight.
+        In some cases, the line of sight has two intersections with a given
+        iso-latitude cone, and the selecting the closes one to spacecraft was
+        not always the appropriate choice. An hint from the caller was needed,
+        as a point close to the desired intersection.
+      </action>
+      <action dev="luc" type="fix">
+        Fixed non-bracketing error near start of sensor line.
+      </action>
+      <action dev="luc" type="update">
+        Moved reference date from Rugged top class to LineDatation model.
+      </action>
+      <action dev="luc" type="update">
+        Remove check for context, which is ensured since construction.
+      </action>
+      <action dev="luc" type="update">
+        Improved speed of inverse localization test.
+      </action>
+      <action dev="luc" type="fix">
+        First working version of inverse localization.
+        It works in simple cases (no light time correction and no aberration of
+        light correction), and is still really slow.
+      </action>
+      <action dev="luc" type="add">
+        Started implementation of inverse localization (not working yet).
+      </action>
+      <action dev="luc" type="update">
+        Removed a check that is not needed anymore.
+        The indices are now checked at caller level.
+      </action>
+      <action dev="luc" type="update">
+        Added an option to use Duvenhage algorithm with flat-Earth hypothesis.
+        This option is mainly intended for comparison with existing systems. It
+        should not be used for operational systems and the full Duvenhage
+        algorithm with line-of-sight bending in geodetic coordinates should be
+        used instead.
+      </action>
+      <action dev="luc" type="fix">
+        Avoid array bounds error when interpolating exactly at tile edges.
+      </action>
+      <action dev="luc" type="update">
+        Added automatic mean plane computation for line sensors.
+        This will allow implementing inverse localization.
+      </action>
+      <action dev="luc" type="update">
+        Allow direct use of Orekit inertial frames and ellipsoids.
+      </action>
+      <action dev="luc" type="update">
+        Added optional aberration of light correction.
+      </action>
+      <action dev="luc" type="update">
+        Renamed ligth travel time compensation into light time correction.
+        This better matches physics naming conventions.
+      </action>
+      <action dev="luc" type="update">
+        Moved light travel compensation setting out of construction.
+        This setting is not intended to be used often (in fact it should be used
+        only for validation against other systems), so forcing user to set it in
+        all cases was a bad idea. Now the default configuration is to compensate
+        and if user does not want to compensate, he can inhibate it by calling a
+        separate method after construction.
+      </action>
+      <action dev="luc" type="update">
+        Fixing light travel time or not is now a user setting.
+      </action>
+      <action dev="luc" type="update">
+        Configure tiles updater at construction time.
+      </action>
+      <action dev="luc" type="update">
+        Replaced setGeneralContext with constructors.
+      </action>
+      <action dev="luc" type="update">
+        Replaced Rugged interface with a class.
+      </action>
+      <action dev="luc" type="update">
+        Moved enumerates out of Rugged top level interface.
+      </action>
+      <action dev="luc" type="update">
+        Removed SatellitePV and SatelliteQ classes.
+        We now use directly Orekit PVCoordinates and Apache Commons Math
+        Rotation classes.
+      </action>
+      <action dev="luc" type="update">
+        Remove GroundPoint class.
+        We use directly the Orekit GeodeticPoint now.
+      </action>
+      <action dev="luc" type="add">
+        Added ITRF equinox, for applications that rely on it...
+      </action>
+      <action dev="luc" type="fix">
+        Fixed virtual "wall" appearing at tiles boundaries.
+      </action>
+      <action dev="luc" type="fix">
+        Avoid an infinite loop near tiles boundaries.
+      </action>
+      <action dev="luc" type="fix">
+        Fixed error loading elevation from Aster files.
+      </action>
+      <action dev="luc" type="update">
+        Improved accuracy by taking speed of light into account in transforms.
+      </action>
+      <action dev="luc" type="update">
+        Slight speed-up with a dedicated pointOnGround method.
+      </action>
+      <action dev="luc" type="update">
+        Added writing of grid file to full test.
+      </action>
+      <action dev="luc" type="update">
+        Don't use a numerical propagator within direct localization.
+        As the time between each line is really small (milliseconds), it is
+        better to propagate first and use an ephemeris later.
+      </action>
+      <action dev="luc" type="add">
+        New global test (temporary, much too computing intensive).
+      </action>
+      <action dev="luc" type="add">
+        Added a default linear model for line datation.
+      </action>
+      <action dev="luc" type="update">
+        Avoid line-of-sight splitting before its start.
+      </action>
+      <action dev="luc" type="fix">
+        Fixed a numerical issue at tile exit.
+        The low point at tile minimum elevation was computed with a tiny
+        positive error, meaning the point really was above min elevation (at
+        micrometer level). The line segment between entry and exit stopped just
+        before traversing the Digital Elevation Model, and an error was
+        triggered.
+        The solution was to take some margin when computing the segment
+        endpoints at entry and exit: we now start above max elevation and end
+        below min elevation so the intersection should be really on the line.
+      </action>
+      <action dev="luc" type="update">
+        Greatly improved accuracy of direct localization.
+        There were some small errors (at centimeter level) as result points may
+        be slightly out of line of sight. These errors seemed to be due to the
+        final linear line-of-sight model that is used at pixel level.
+        An iterative correction step is performed to ensure the point is really
+        on the line-of-sight.
+        The residual error is now at nanometer level.
+      </action>
+      <action dev="luc" type="add">
+        Allow tolerance for intersections close to pixel edges.
+      </action>
+      <action dev="luc" type="update">
+        Use the four corners of each pixel to initialize min/max kd-tree.
+      </action>
+      <action dev="luc" type="update">
+        Use point and direction rather than two points for pixel intersection.
+      </action>
+      <action dev="luc" type="update">
+        Added a los conversion between Cartesian and geodetic coordinates.
+        The conversion is of course accurate only in the neighborhood of the
+        reference point, as a straight line in Cartesian is not a straight line
+        in geodetic coordinates. What is converted is the initial direction so
+        the two curves are tangent at the reference point.
+        Near Earth surface, the two curves remain within one millimeter of each
+        other after about 100 m travel.
+      </action>
+      <action dev="luc" type="fix">
+        First working version of Duvenhage algorithm!
+      </action>
+      <action dev="luc" type="fix">
+        Handle degenerate intersection cases.
+        The cases handled include linear cases (when Digital Elevation Model has
+        zero curvature) and constant cases (no curvature and line-of-sight
+        parallel to tile, both in or out-of-tile).
+      </action>
+      <action dev="luc" type="fix">
+        First working version of BasicScanAlgorithm.
+        The case where the line-of-sight enters the Digital Elevation Model in
+        one tile on top and exit it in another tile on bottom is not tested yet.
+      </action>
+      <action dev="luc" type="add">
+        Added tests for BasicScanAlgorithm.
+      </action>
+      <action dev="luc" type="update">
+        Don't exclude endpoints when un-merging tiles.
+      </action>
+      <action dev="luc" type="update">
+        Changed private method arguments order for easier understanding.
+      </action>
+      <action dev="luc" type="fix">
+        Fixed computation of sub-tiles crossings.
+      </action>
+      <action dev="luc" type="update">
+        Added library setup test, with and without Orekit.
+      </action>
+      <action dev="luc" type="add">
+        Prepared framework for more complete flight dynamics tests.
+      </action>
+      <action dev="luc" type="update">
+        Implemented intersection at pixel level.
+      </action>
+      <action dev="luc" type="update">
+        Delegate final pixel intersection to Tile.
+      </action>
+      <action dev="luc" type="fix">
+        Added a basic scan algorithm, for testing and validation purposes.
+      </action>
+      <action dev="luc" type="update">
+        Added line-of-sight splitting at sub-tiles boundaries.
+      </action>
+      <action dev="luc" type="update">
+        Added test for level 0 merging row and tall tile.
+      </action>
+      <action dev="luc" type="update">
+        Added methods getLatitudeAtIndex and getLongitudeAtIndex in Tile.
+      </action>
+      <action dev="luc" type="update">
+        Changed semantics of merge methods so they refer to current level.
+      </action>
+      <action dev="luc" type="update">
+        Renamed package dem into raster.
+      </action>
+      <action dev="luc" type="update">
+        Work In Progress on duvenhage algorithm.
+      </action>
+      <action dev="luc" type="update">
+        Added getMergingRow and getMergingColumn methods.
+        These methods are essential to identify where to split the line-of-sight
+        in the Duvenhage algorithm, when going from one level in the min/max
+        kd-tree to the next level.
+      </action>
+      <action dev="luc" type="update">
+        Added isColumnMerging predicate.
+      </action>
+      <action dev="luc" type="update">
+        Added a tolerance around tile for elevation interpolation.
+        Elevation is going to be interpolated at tiles entry and exit points,
+        which are computed from geodetic conversions. The result points may be
+        very slightly out of tiles, at numerical accuracy level. These points
+        should nevertheless be allowed to be interpolated using the closest
+        pixel data, so a tolerance was needed.
+        The SimpleTile class uses a fixed tolerance, arbitrarily set to 1/8
+        pixel.
+      </action>
+      <action dev="luc" type="fix">
+        Fixed interpolation error.
+      </action>
+      <action dev="luc" type="add">
+        started implementation of the Duvenhage algorithm.
+      </action>
+      <action dev="luc" type="update">
+        Added getLatitudeIndex and getLongitudeIndex in Tile.
+      </action>
+      <action dev="luc" type="fix">
+        Handle properly tiles boundaries.    
+        Tiles are expected to have no inter-tile gap, i.e. the boundary row/columns are repeated in neighboring tiles.
+      </action>
+      <action dev="luc" type="update">
+        Improved identification of point location with respect to tile.
+      </action>
+      <action dev="luc" type="update">
+        Sensor directly uses points and vectors, and no more Line.
+      </action>
+      <action dev="luc" type="update">
+        Intersection algorithms can use the new ExtendedEllipsoid.
+        This allows them to chop off line-of-sight at DEM cells boundaries.
+      </action>
+      <action dev="luc" type="fix">
+        Fixed wrong package in tests.
+      </action>
+      <action dev="luc" type="add">
+        Added ExtendedEllipsoid to chop off line-of-sight according to DEM.
+      </action>
+      <action dev="luc" type="update">
+        Split top level class from DEM intersection algorithm.
+      </action>
+      <action dev="luc" type="update">
+        Line numbers are double.
+      </action>
+      <action dev="luc" type="add">
+        Started implementation of direct localization ...
+      </action>
+      <action dev="luc" type="update">
+        Added a protection against unknown sensors.
+      </action>
+      <action dev="luc" type="add">
+        Added configuration for sensor lines of sight.
+      </action>
+      <action dev="luc" type="update">
+        Use an offset from a reference date for all computation.
+      </action>
+      <action dev="luc" type="update">
+        Added a getMergeLevel method to identify when pixels share min/max.
+        This is a first step towards duvenhage's algorithm.
+      </action>
+      <action dev="luc" type="fix">
+        Working version of min/max kd-tree tile.
+      </action>
+      <action dev="luc" type="add">
+        Started implementation of min/max KD-tree tile.
+        This is work in progress, the min/max computation seems wrong for now.
+      </action>
+      <action dev="luc" type="update">
+        pixels are double.
+      </action>
+      <action dev="luc" type="update">
+        Added protection against empty tiles.
+      </action>
+      <action dev="luc" type="update">
+        Removed AbastractTile.
+        Specialized tiles should directly extend SimpleTile.
+      </action>
+      <action dev="luc" type="add">
+        Added global min/max handling for any tile.
+      </action>
+      <action dev="luc" type="add">
+        Prepared first implementation for Duvenhage algorithm.
+        For now, only the (incomplete) API and classes hierarchy has been set
+        up. The tile is still a simple tile and does not yet creates the min/max
+        kd-tree. The algorithm doesn't do anything.
+      </action>
+      <action dev="luc" type="update">
+        Boilerplate part for Rugged interface implementation.
+      </action>
+      <action dev="luc" type="update">
+        Added API for global context initialization.
+      </action>
+      <action dev="luc" type="update">
+        Added containers for parsed position/velocity and attitude.
+      </action>
+      <action dev="luc" type="update">
+        Added a hook called after tile update completion.
+      </action>
+      <action dev="luc" type="update">
+        Force use of factory to create simple tiles.
+      </action>
+      <action dev="luc" type="update">
+        Extract an AbstractTile from SimpleTile
+      </action>
+      <action dev="luc" type="update">
+        Added a simple container for inverse localization result.
+      </action>
+      <action dev="luc" type="update">
+        Expanded API.
+      </action>
+      <action dev="luc" type="update">
+        Use new specialized exceptions.
+      </action>
+      <action dev="luc" type="update">
+        Added error messages handling, with translation.
+      </action>
+      <action dev="luc" type="update">
+        Added design document and diagrams.
+      </action>
+      <action dev="luc" type="update">
+        Implemented TilesCache.
+      </action>
+      <action dev="luc" type="update">
+        Added factory for tiles.
+        The factory is to be implemented by the DEM intersection algorithm, at
+        very low level (typically tiles based on min/max kd-tree for Duvenhage
+        algorithm).
+        The tile updater on the other hand is the responsibility of the mission
+        specific interface.
+      </action>
+      <action dev="luc" type="update">
+        Added method to check ground point coverage.
+      </action>
+      <action dev="luc" type="update">
+        Reference latitude/longitude must be the minimum.    
+        This ensures simple search for tiles given a ground point.
+      </action>
+    </release>
+  </body>
+</document>