refactoring (2) ....