refactored providers, use $this->provider()->method() in template