custom provider and datastore aware
- tests