refactor forward into an object
make proxy just take interfaces
rename connect function