just another refactoring