using attributes in the provider