add cache middle ware