Major refactoring; Updated to require Java 8
Updated notice.txt