only open each datastore once