The goal of objects is to help extend our current capabilities to store and manipulate data. In simple programming examples, primitive types are often good enough, since we are working with single data points such as integers. The typical problems we encounter in day to day programming, however, are different. These problems will typically handle data that is more complex, with many related properties that need to be worked with. Objects and classes will provide us a way to define custom data types to be able to handle any data we encounter.