contains the business logic