create cache dir if it doesn't exist

this is totally valid - why was the PR merged?