I'd like to know a bit more about Symbols. I know that if a variable, class, or method are given one name, then that name is associated with a symbol, and only one symbol. Presumably this doesn't make the Symbol global, it is more like Fixnums having only one object, so that 1 refers to the same object whereever it is used. Is that about right? I have been trying to use the Command Pattern and have been using strings to hold the commands. My tests seem to take about one fifth of the time doing String#==. This seems a lot, but I suppose String#== is epensive because of comapring each character. If I used Symbols to represent commands presumably the == would be much faster. When Programming Ruby talks about Symbols being like atoms in other langauges, is it this sort of use that is being considered? (I remember there were atoms in Prolog, but can't remember much about them.) Or is the Symbol class only intended for reflexive type programming, and to use it like this is an abuse of it? I didn't really play with 1.5.x so I'm not up to speed on this feature. Hugh hgs / dmu.ac.uk