allow for better dependency injection