Proxy Support

Closes #68

I reverted the revert of proxy support that was performed in #62

I then modified the specs to be more accurate and implemented accordingly