applying method injection -- to be continued