add data-cache support