business-component & refactor!