some work on getting some sort of dependency injection