Dependency Injection Methods