alternative injection method added, + complexity fixes