add missed cache.h/cache.c