I am attemptiong to write a package which consists of a workspace divided into nodes. Each node has several voltages associated with it. Generally one manipulates these voltages to change the state of the node, and to pass signals between nodes. However, these voltages group into ports when communicating between nodes. A port can have more properties than a voltage, but different properties from a node. For example, some ports allow voltages to be passed across them, others reflect them back the way they came. A port usually consists of two voltages. A node usually has six ports (i.e 12 voltages). I asked someone about how to do this neatly on an OO way, and they said, "have the ports contain references to the voltages". However, I cannot see any reference or pointer types in ruby. Is there a neat way of doing this in ruby? Hugh hgs / dmu.ac.uk