re wrote resource loading to use a web worker and to cache the result in local storage