half way house refactoring