Added create or find provider functions with unit tests.