updated references to drive api
starting to add both modes of instantiation
implementing model factory