move business logic