split business logic.