refactoring
another refactoring