Implemented most of provider, missing some inserts still to be handled
Started writing provider tests, need to complete insert and update