Refactoring when holder and added unit test