Switched to Java 8 and added comments (prototype, usability is horrible)