deeper NInject implementation