add function cachemean