code refactory for parent proxy supporting