added support for factory inject