add func cahce