add util.uid and util.guid
implement provider base class