finished business logic