refactoring holder