adding Java8 support