refactoring, comments, junit tests