cache middleware added