Added dependency injection annotations;
Refactored;