extract provider method