The Java programming language provides numerous features to support the construction of large programs, but could do more to reduce JAR hell and simplify application packaging. The majority of this Devoxx keynote will describe how modular programs can address these issues, and how Java language and VM features can be designed to make programs more modular while retaining compatibility with legacy code. In the second part Mark will also look at possible features for Java SE 7.