add authority filter to service provider, make authority a constructor