add simple cache singleton class