A C++ implementation of a finite element class system and its links to a graphical model of a structure are described. The principles underlying the finite element and graphical class systems are outlined, together with the reasoning behind the design. Two of the key points are (i) the finite element classes have a "lean" interface; (ii) the finite element objects (e.g. nodes and elements) are distributed around the graphical model objects (e.g. points, lines, sub-structures). Some of the advantages of adopting such an approach are outlined with reference to user interaction, mesh generation, and sub-structuring. (C) 1999 Elsevier Science Ltd and Civil-Comp Ltd. All rights reserved.