updated to use localforage instead of localstorage