switched to using class methods for generating proxies