create the cache dir if it doesn't exist