refactored proxying