walk the object graph to pick up everything we really need