move inject method to separate method and more comments.