added ninject ioc container implementation