using private_members instead of nodelist