clean up documentation
make use of java 8 features, general clean up