first pass at Java 8-izing