refactoring
update javadoc
update javadoc