business logic impl part 2