refactor the inject system so it will not use "hack"
code cleaning
update inject methods description