other refactoring