updated with ngInject