add javadoc
update README.md