added auto injection