Building a custom provider model