added storeWithTransaction