add java8 support