refactoring, new features, comments