Added caching to proxy.c, wrote cache.h