correction and refactoring