comments + refactoring