Hi Markus, i have some comments about morphs :) To my personal feel, a drop shadow feature (and all what is connected with it) is quite controversial, i don't think its worth promoting hasDropShadow shadowOffset to ivars. Instead, i think its worth demoting these ones to a void! :) Can anyone tell me why morph (and moreover - canvas) should be aware of a shadows effect? And what if i want a glow effect instead? Will you extend/expand both morphs/canvas protocol to support it too? Will you sacrifice ivars for it? :) What if tomorrow i want another myCoolSpecialEffect to be there? Will you force a Morph and Canvas be aware of that? I think no. I think all special effects should be a) removed b) reintroduced using different means. No Morph (abstract class) should be aware of any special effects, like it currently hardcoded in #fullDrawOn: self hasDropShadow ifTrue: [self drawDropShadowOn: aCanvas]. (self hasRolloverBorder and: [(aCanvas seesNothingOutside: self bounds) not]) ifTrue: [self drawRolloverBorderOn: aCanvas]. i think such code is candidate for removal. Instead, if we need to, we could simply put: self drawSpecialEffectsOn: aCanvas. -- Best regards, Igor Stasenko AKA sig.