changed to promissed based and store provider