Hi, due to the absence of a namespace solution we today often prefix classes with one, two or three letters. You all know prefixes like "Zn", "Zdc", "GLM", "Tx", "WA", ... to avoid conflicting names. I would like to have a "::" separator within the class name to better distinguish the class name from the prefix and increase readability at the same time. SmalltalkMT had this solution in alignment with C++ and I really liked working with it. So much that I would like to see it in Pharo too - maybe also as a base for future Namespace additions. So I modified the #isValidGlobalName in Pharo 6.0 like mentioned below to allow and support the :: notation for classes. After that I can create classes like: Seaside::Component Core::Boolean Model::Person GLM::BrickListModel Tx::FontAttribute so far without any problem. Do you think - there will be places where this conflicts or creates hazzles (tools, metacello, ...) - if it would be a good idea to add this to the default image? Thanks for feedback. Thx T. -------------------------------------------------------------------------------------------------- isValidGlobalName self ifEmpty: [ ^ false ]. "reserverd default names" self = 'NameOfSubclass' ifTrue: [ ^ false ]. self = 'TNameOfTrait' ifTrue: [ ^ false ]. (self occurrencesOf: $:) = 2 ifTrue: [ ^(self splitOn: '::') allSatisfy: [: part | part isValidGlobalName ] ]. ^ Character supportsNonASCII ifTrue: [ (self first isLetter and: [self first isUppercase]) and: [ self allSatisfy: [:character | character isAlphaNumeric or: [ character = $_ ]]]] ifFalse: [ (self first between: $A and: $Z) and: [ self allSatisfy: [:character | (character between: $a and: $z) or: [ (character between: $A and: $Z) or: [ (character between: $0 and: $9) or: [ character = $_]]]]]]