In a directive i want to require a controller but i get the error that the controller can't be found. I am sure it is a small thing or maybe it is not possible the way i want to do it. 

```js
angular.module('myApp', []);

angular.module('myApp').controller('GreetingController', ['$scope', function($scope) {
  $scope.greeting = 'Hola!';

  //some function here returning data
}]);

angular.module('myApp').directive('yoloswag', function() {
  return {
    require: ['^?ngModel', '^GreetingController'],
    restrict: 'A',
    scope: {
    },
    link: function(scope, element, attrs, controllers) {

      var modelCtrl = controllers[0],
          greetingsCtrl = controllers[1];

      console.log(controllers)
    }
  };
});
```

```html
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.8/angular.min.js"></script>
<div ng-app="myApp">
  <div ng-controller="GreetingController">
    {{ greeting }}
    <div yoloswag>test</div>
</div>

</div>
```

What am i doing wrong?

Thank you so much!