start of compatibility with java 8