adding constructor feature in injector
delegating common responsibility to internal injector