also work on java 7