breaking change: modified dependency injection