proxy w/ caching layer