Redesigned to java6 platform