made compatible with java 1.6