create cache dir if it doesn't exist