In order to better understand the following class definitions, the PIF syntax definition for point lists, grids, and attributes should be consulted in Appendix A. All those PIF objects have a name, and some of them have an additional name list, which is here for referencing other PIF objects. Both the point list and the attribute contain value declarations and value definitions, therefore they are derived from a common parent class. Since the value declaration and the value definition are well separated in the PIF syntax, they get their own classes in the class definitions.