issue #36:add cache dir