refactoring and new injections