complex object pointers all update at once