* comments and refactoring