rearchitected with DI and design patterns