fully working version of injectiano and injectiano_yield with tests