adding annotate function to support different types of argument injection for injector