diff --git a/README b/README
index dd0228d692f848dfd5c949773a884c89135c3c76..12537450f93be9f1ce8a6f8da04e4781f144f17e 100644
--- a/README
+++ b/README
@@ -13,13 +13,13 @@ To build it, you will need, for example, the following:
 
 To build, type this:
 
-xsbt clean   
-xsbt package # takes a while
-xsbt script
+    $ xsbt clean   
+    $ xsbt package # takes a while
+    $ xsbt script
 
 Then you can try e.g.
 
-./run-demo demo/RedBlackTree.scala
+    $ ./leon ./testcases/sas2011-testcases/RedBlackTree.scala
 
 and get something like this:
 
diff --git a/lib-bin/libz3.so b/lib-bin/32/libz3.so
similarity index 100%
rename from lib-bin/libz3.so
rename to lib-bin/32/libz3.so
diff --git a/lib64-bin/libz3.so b/lib-bin/64/libz3.so
similarity index 100%
rename from lib64-bin/libz3.so
rename to lib-bin/64/libz3.so
diff --git a/library/Annotations.scala b/library/src/main/scala/leon/Annotations.scala
similarity index 100%
rename from library/Annotations.scala
rename to library/src/main/scala/leon/Annotations.scala
diff --git a/library/Utils.scala b/library/src/main/scala/leon/Utils.scala
similarity index 100%
rename from library/Utils.scala
rename to library/src/main/scala/leon/Utils.scala
diff --git a/project/Build.scala b/project/Build.scala
index 1a56a0f59005de0943dd55de6ad56777bd5eb2a3..e01392ba68cad6ca95e8b4cbc06f609a5f32797d 100644
--- a/project/Build.scala
+++ b/project/Build.scala
@@ -6,8 +6,15 @@ object Leon extends Build {
   private val scriptName = "leon"
   def scriptFile = file(".") / scriptName
   def is64 = System.getProperty("sun.arch.data.model") == "64"
-  def ldLibraryDir32 = file(".") / "lib-bin"
-  def ldLibraryDir64 = file(".") / "lib64-bin"
+  def ldLibraryDir32 = file(".") / "lib-bin" / "32"
+  def ldLibraryDir64 = file(".") / "lib-bin" / "64"
+
+  val cleanTask = TaskKey[Unit]("clean", "Cleans up the generated binaries and scripts.") <<= (streams, clean) map { (s,c) =>
+    c
+    if(scriptFile.exists && scriptFile.isFile) {
+      scriptFile.delete
+    }
+  }
 
   val scriptTask = TaskKey[Unit]("script", "Generate the " + scriptName + " Bash script") <<= (streams, dependencyClasspath in Compile, classDirectory in Compile) map { (s, deps, out) =>
     if(!scriptFile.exists) {
@@ -74,7 +81,8 @@ object Leon extends Build {
 
   object LeonProject {
     val settings = Seq(
-      scriptTask
+      scriptTask,
+      cleanTask
     )
   }
 
diff --git a/run-demo b/run-demo
deleted file mode 100755
index a3db30e6682f1483ccc66b79cc65d5222e82bb90..0000000000000000000000000000000000000000
--- a/run-demo
+++ /dev/null
@@ -1 +0,0 @@
-./leon --timeout=10 --noLuckyTests $@
diff --git a/run-demo-testgen b/run-demo-testgen
deleted file mode 100755
index 90b0479f2dc548a4b2df35042cc802604aca3ee3..0000000000000000000000000000000000000000
--- a/run-demo-testgen
+++ /dev/null
@@ -1 +0,0 @@
-./leon --nodefaults --extensions=leon.TestGeneration $@