added cache.c