JDK8 compatibility & API improvements