added provider interfaces