modified for java 1.6 compability