On Oct 22, 6:08 ¨Βν¬ ΆΠιτ ΓαπιταιξΌπιτ®γαπιτ®®®ΐηναιμ®γονΎ χςοτεΊ > Tom, that's easy if you split the creation of the classes from naming them: > > y = Class.new > > class X < y > end > > X::Y = y > > p X.ancestors => [X, X::Y, Object, Kernel] Thanks Pit (and David), The solution is cleaner than I thought it would be actually --that's good, but I avoided this direction myself b/c of how it would effect RDocs. RDoc sees X::Y as just a constant and not a class. Yea, I know I shouldn't code to the rdocs, but unfortunately RDocs are important. Maybe something to consider for improving Rdocs in the future, a way to force it to recognize certain dynamic designs as particular constructs. But I digress... Another option that occurred to me, I could make X the primary class and subclass it as Y even though it would mean a couple remove_methods. Still not ideal but perhaps close enough. T.