cleaner form of proxy, but may need more memory