- add javadoc; make some methods private