added cacheDir handling, but plugins still need to make use of it