updated javadoc
refactored events