Same thing here, You should not be directly accessing the client's pets. Your client should have a function that returns a pet, and the shelter should have a function that takes a pet. The transaction would be something like: 
```ruby
pet = owner.give_up_pet(pet_name) #client returns the pet
shelter.take_in_pet(pet) #shelter takes this pet object and adds it, but does not access the pet directly (only through the function defined in the client)
```