updated with jdk1.6