Implemented DependencyInjected Pattern