Implementing manual DI

This PR addressed manual DI.