Simplify codebase; add JDK5 idioms
Added guide