provider: initial provider constructs

note - this is not functional at this time.  It is simply a
preliminary scaffold for starting to scope out the functionality