multiple changes
- added comments
- updated javadoc