separated proxy impls