Added proxy server code, abstracts cache