more defensive object access