business refactor