added inject impl