Clean up/update this.

Use proxies, reduce code a bit