proxy pattern basis