another refactoring round
another refactoring round