 -      </exclusions>
 +      <groupId>org.ow2.asm</groupId>
 +      <artifactId>asm</artifactId>
-+      <version>5.0.1</version>
++      <version>5.0.2</version>
        <optional>true</optional>
 +      <scope>provided</scope>
      </dependency>

 
   <modules>
     <module>assistedinject</module>
@@ -40,16 +39,17 @@
      | All extensions depend on the core
     -->
     <dependency>

Last-Update: 2014-07-11

diff --git a/README.md b/README.md
index 913a0b0..b713400 100644
--- a/README.md
+++ b/README.md
@@ -1,24 +1,10 @@
-Guice
-====
+Patched build of https://github.com/google/guice/ - see PATCHES for the exact differences.
 
-**Now, out in [4.0 Beta4](https://github.com/google/guice/wiki/Guice40)!**
+Compatibility with Google-Guice
+-------------------------------
 
-**Documentation:** [User Guide](https://github.com/google/guice/wiki/Motivation), [3.0 javadocs](http://google.github.io/guice/api-docs/3.0/javadoc/packages.html), [Latest javadocs](http://google.github.io/guice/api-docs/latest/javadoc/packages.html) <br/>
-**Continuous Integration:** [![Build Status](https://api.travis-ci.org/google/guice.png?branch=master)](https://travis-ci.org/google/guice) <br
-/>
-**Mailing Lists:** [User Mailing List](http://groups.google.com/group/google-guice), [Developer Mailing List](http://groups.google.com/group/google-guice-dev) <br/>
-**License:** [Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0)
+The main difference between Sisu-Guice and Google-Guice is that Guava is now exposed as a direct Maven dependency. If you are assembling your application outside of Maven you therefore need to add Guava to the runtime JARs. The build uses Guava 11.0.2 but you can use Maven's `<dependencyManagement>` to select a different version of Guava. (The current source code is compatible up to and including Guava 15.0)
 
-Put simply, Guice alleviates the need for factories and the use of new in your Java code. Think of Guice's @Inject as the new new. You will still need to write factories in some cases, but your code will not depend directly on them. Your code will be easier to change, unit test and reuse in other contexts.
+Because of this dependency difference you should avoid mixing the official Google-Guice library with internal extensions provided by Sisu-Guice and vice-versa. Third-party Guice extensions should be compatible with either library.
 
-Guice embraces Java's type safe nature, especially when it comes to features introduced in Java 5 such as generics and annotations. You might think of Guice as filling in missing features for core Java. Ideally, the language itself would provide most of the same features, but until such a language comes along, we have Guice.
-
-Guice helps you design better APIs, and the Guice API itself sets a good example. Guice is not a kitchen sink. We justify each feature with at least three use cases. When in doubt, we leave it out. We build general functionality which enables you to extend Guice rather than adding every feature to the core framework.
-
-Guice aims to make development and debugging easier and faster, not harder and slower. In that vein, Guice steers clear of surprises and magic. You should be able to understand code with or without tools, though tools can make things even easier. When errors do occur, Guice goes the extra mile to generate helpful messages.
-
-For an introduction to Guice and a comparison to new and the factory pattern, see [Bob Lee's video presentation](https://www.youtube.com/watch?v=hBVJbzAagfs). After that, check out our [user's guide](https://github.com/google/guice/wiki/Motivation).
-
-We've been running Guice in mission critical applications since 2006, and now you can, too. We hope you enjoy it as much as we do.
-
-[![jolt award](http://crazybob.org/jolt.png)](http://joltawards.com)
+Sisu-Guice retains the same public API as Google-Guice and is binary compatible from a client perspective.
diff --git a/build.xml b/build.xml
index a0f117a..0e96b04 100644
--- a/build.xml
+++ b/build.xml
@@ -258,7 +258,7 @@
       <arg value="-DNO_AOP" />
     </munge>
     <replace file="build/no_aop/common.xml" value="">
-      <replacetoken><![CDATA[<zipfileset src="${common.basedir}/lib/build/asm-5.0.1.jar"/>]]></replacetoken>
+      <replacetoken><![CDATA[<zipfileset src="${common.basedir}/lib/build/asm-5.0.2.jar"/>]]></replacetoken>
     </replace>
     <replace file="build/no_aop/common.xml" value="">
       <replacetoken><![CDATA[<zipfileset src="${common.basedir}/lib/build/cglib-3.1.jar"/>]]></replacetoken>
diff --git a/common.xml b/common.xml
index f9ced33..f33205e 100644
--- a/common.xml
+++ b/common.xml
@@ -149,7 +149,7 @@
     <jarjar jarfile="${build.dir}/${ant.project.name}-with-deps.jar">
       <fileset dir="${build.dir}/classes"/>
       <zipfileset src="${common.basedir}/lib/build/cglib-3.1.jar"/>
-      <zipfileset src="${common.basedir}/lib/build/asm-5.0.1.jar"/>
+      <zipfileset src="${common.basedir}/lib/build/asm-5.0.2.jar"/>
       <rule pattern="net.sf.cglib.*" result="com.google.inject.internal.cglib.$@1"/>
       <rule pattern="net.sf.cglib.**.*" result="com.google.inject.internal.cglib.@1.$@2"/>
       <rule pattern="org.objectweb.asm.*" result="com.google.inject.internal.asm.$@1"/>
diff --git a/core/pom.xml b/core/pom.xml
index be4cf44..a11ac5a 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -4,14 +4,15 @@
