initial commit of Dependency Injection Container based changes