add expire cache function