added provider method