update business logic