break business logic into its own service which calls the data layer