- additional refactoring