Hi guys. I need a category expert to explain why we have the following: Class >> category "Answer the system organization category for the receiver. First check whether the category name stored in the ivar is still correct and only if this fails look it up (latter is much more expensive)" | result | self basicCategory ifNotNil: [ :symbol | ((self environment organization listAtCategoryNamed: symbol) includes: self name) ifTrue: [ ^symbol ] ]. self basicCategory: (result := self environment organization categoryOfElement: self name). ^result So...how can a class store an "incorrect" category? Or in other words.... can PackageInfo >> includesClass: aClass ^ self includesSystemCategory: aClass theNonMetaClass category use #basicCategory (simple accessor) rather than #category? thanks, -- Mariano http://marianopeck.wordpress.com