diff --git a/README b/README
index dd0228d692f848dfd5c949773a884c89135c3c76..26229521988cc34cd1692b7e263ffe2316560167 100644
--- a/README
+++ b/README
@@ -1,5 +1,12 @@
 This is Leon 0.2.0
 
+===============
+Getting Started
+===============
+
+This section gives a very quick overview of how to build and use Leon, refer to
+the following sections if you wish (or need) more detailed information.
+
 To build it, you will need, for example, the following:
   * Java Runtime Environment, from Oracle, e.g. Version 7 Update 5 
     (to run xsbt and scala)
@@ -10,6 +17,11 @@ To build it, you will need, for example, the following:
     (for Z3)
   * GNU Multiprecision library, e.g. gmp3, works with e.g. apt-get
     (for Z3)
+The followin can be obtained from the web, but for convenience they are contained in the
+repository and are actually automatically handled by the default build configuration.
+  * ScalaZ3 from https://github.com/psuter/ScalaZ3/
+  * The libz3 library from microsoft:
+    http://research.microsoft.com/en-us/um/redmond/projects/z3/
 
 To build, type this:
 
@@ -19,7 +31,7 @@ xsbt script
 
 Then you can try e.g.
 
-./run-demo demo/RedBlackTree.scala
+./leon testcases/sas2011-testcases/RedBlackTree.scala
 
 and get something like this:
 
@@ -43,16 +55,122 @@ and get something like this:
           â•‘ redNodesHaveBlackChildren match.      (35,56) valid               Z3-f+t    0.003 â•‘
           â•‘ size                      postcond.           valid               Z3-f+t    0.012 â•‘
           ╚═══════════════════════════════════════════════════════════════════════════════════╝
+          
+
+=============
+Building Leon
+=============
+
+Leon requires quite a few dependencies, and you will need to make sure
+everything is correctly set up before being able to build it. Leon is probably
+much easier to build on Unix-like plattforms. Not to say it is impossible to
+build on Windows. But some scripts used to run and test the system are shell
+script and you will need to manually port them to Windows if you wish to use
+Windows.
+
+First you need a Java Runtime Environment. The most recent version should work.
+Simply follow the standard installation process (e.g. apt-get) for your system.
+
+Next, you need the Simple Build Tool (sbt) https://github.com/harrah/xsbt/wiki
+which seems to be (as of today) the standard way to build Scala program. Again
+you should follow the installation procedure. You can also find information
+about sbt here: http://typesafe.com/technology/sbt. Sbt is quite a complex
+tool, so I would suggest looking at the getting started guide on the wiki page.
+However, if you just want to quickly build Leon and never look back, then the
+information provided here should be sufficient.
+
+(This section is outdated for linux, but can be useful to adapt on Windows/Mac)
+Now you will have to build the ScalaZ3 project from
+https://github.com/psuter/ScalaZ3/. You should follow the instructions given in
+the ScalaZ3 project. The ScalaZ3 is a Scala wrapper on the Z3 native library
+from Microsoft. It is used in Leon to make native call to Z3. The generated
+.jar from ScalaZ3 will be dependent on your own z3 native library, which you
+can obtain from http://research.microsoft.com/en-us/um/redmond/projects/z3/.
+However, the ScalaZ3 repository comes with 32 and 64 bits version for Linux and
+you should probably use those ones to make sure the version is compatible. You
+can install the Z3 native library in some standard system library path such as
+/usr/lib. You need to install the scalaz3.jar file in the "unmanaged"
+directory. The build system is configured to use any jar file in the
+"unmanaged" directory. Finally be aware that the Z3 library will come with its
+own set of dependencies, in particular you will need to have GMP. You will
+probably have to fight with a few errors before everything can finally work
+together.
+
+Finally you can build Leon. Start sbt from a terminal to get an interactive
+sbt session. Then type:
+  clean
+This will make sure the build is clean, then:
+  package
+This will compile everything and create jar files. This could take a long time.
+Finally you need to generate a running script with the command:
+  script
+This will generate the leon script that can be used to run leon from command line
+with correct arguments and classpath. This script you should not need to re-generate
+another time, if you modify some code you just need to run 'compile' again. If anything
+goes wrong, you should carefully read the error message and try to fix it. You can
+refer to the troubleshooting section of this manual.
+
+Note that Leon is organised as a structure of two projects, with one main (or
+root) project and one sub-project. From a user point of view, this should most
+of the time be transparent and the build command should take care of
+everything. The subproject is in 'library' and contains required code to make
+Leon input programs valid Scala programs. The point of having this library
+sub-project, is that you can use the generated jar for the library sub-project
+on its own and you should be able to compile Leon testcases with the standard
+Scala compiler.
+
+Now we can make sure that the build went fine. There is a collection of
+testcase in 'regression' that are used to check the correctness of the system.
+We provide a shell script 'run-tests.sh' to run all of them and make sure Leon
+behaves as expected. You should run ./run-tests now to make sure everything is in
+order. Note that running all tests can take some time.
+
+==========
+Using Leon
+==========
+
+
+========================
+Layout of this directory
+========================
+
+Here is a quick overview of the conventions used in the layout of this directory.
+
+  -src
+    Contains all Scala sources for the Leon project. The layout of the sources follows the standard SBT (and Maven) convention.
+
+  -regression
+    Contains many small testcases. They are meant to be run automatically with a test script and Leon should behave correctly on
+    all of them (correctly could mean either proving validity, finding counter-example or refusing the input).
+
+  -testcases
+    Contains somewhat realistic testcases, that correspond to existing algorithms. Leon might not successfully handle all of them.
+
+  -README
+    This file.
+
+  -PERMISSION
+    You can safely ignore this file.
+    It is used to handle git PERMISSION for this repository.
+
+  -build.sbt
+  -project/Build.sbt
+    Configuration of SBT.
+
+  -library
+    Sub-project containing the Leon library. Needed if one wishes to run Leon testcases with standard Scala.
+
+  -unmanaged
+    This is the directory used by the build system to find unmanated dependencies. You usually need to manually
+    add files to this directory.
+
+  -lib-bin
+  -lib64-bin
+    Contains some binary dependencies for the system that have been build for different plattform/OS.
+
+  
+===============
+Troubleshooting 
+===============
 
-Additional information:
-=======================
-Sample output of 
-  ldd lib-bin/lib3.so
-is:
-	linux-gate.so.1 =>  (0x00b13000)
-	libgmp.so.3 => /usr/lib/libgmp.so.3 (0x00110000)
-	libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0x0016f000)
-	libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0x0025a000)
-	libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0x00709000)
-	libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0x004d9000)
-	/lib/ld-linux.so.2 (0x002ab000)
+Sorry, not done yet :(