add cacheDevice.js