Implement Custom Provider