The concept of Object Oriented Programming dictates that we create a class to represent each object in our application. For my application, the object is an Address. For yours, it will be the particular item you are maintaining a collection of. An object (noun) is simply a code representation of person, place, thing, process, etc. An object has: properties (attributes): describes the object (adjectives) methods: what the object can do or react to (verbs) For our object, we will use it only to store properties. The properties of my Address object are: AddressID FirstName LastName Address1 Address2 City State ZipCode All properties are declared as private class-level variables. To make the property readable, you use a Property Get method. This allows a user of the object to retrieve the value for a particular property. To make the property writable, you use a Property Let method. This allows a user of the object to change the value for a particular property. You should NEVER make a property public. Doing so may cause disastrous results, because the user may set the property to an invalid value. This, in turn, will cause the application to mis-behave. Make the property private, then use the Property Let to include code to validate the value being set. Here is the source code for my Address.cls.