sticking with DI, will revist later; working partial setup for DI