Dear chucklist, I have a question regarding parent and children classes. I'm building a patch with operators that may have one or anoother user defined envelope (i.e. gaussian like, percussive like, etc.). I want to avoid to have to define each operator with 4 different envelopes and then connect-disconnect-reconnect. What I would like is to define a parent class EnvelopeClass from which the rest can inherit. I remember from the past that in chuck inheritance is not very "handy", so if children have different functions or members than its base class, these cannot be accessed. Does anybody have good recommendations to this problem? So the idea is: EnvelopeClass -> this is the base class GaussEnvelope -> children class that inherits from EnvelopeClass PercussiveEnvelope-> children class that inherits from EnvelopeClass now I'd like to have class Operator { SinOsc s; EnvelopeClass @ env; } and be able to assign different envelope types and be able to access their members. Maybe the example at the bottoom of the email is more explanatory. Operator op; GaussianEnvelope gaussEnv @=> op.env; Operator op2; PercussiveEnvelope percEnv @=> op2.env; and even later be able to change the type of the envelope for any operator: GaussianEnvelope gaussEnv2 @=> op2.env; From what I remember, the trick would be that parent and children classes have EXACTLY the same member vars and functions although the implementation contained in it may differ. However, a gauss envelope or a percussive envelope have very different demands, and the best would be to be able to have diffferent implementations for each but inherit from the same base class. any thoughts are very much appreciated, thanks eduard Another example could be: class operator { UGen @ ugen; } Operator op; SinOsc s @=> op.ugen; // this is fine so far but none of the functions of sinosc can be accessed 220 => op.ugen.freq; // this throws an error, as far as I remember....