half way house
refactor