improved object graph