How can we improve out pointer location abstraction? We look at the way locations are used and consider the kinds of duplication we see. Based on those insights, we discuss the difference between reference objects and value objects—two ways of creating object-oriented abstractions—and choose one. Then we get started on our new Location class.