updated with ninject