refactoring, added javadoc