iinject can injected itself via provider interface