Clear dad = NewObject("ParentClass") son1 = NewObject("ChildClass") && You can't !! ? son1 son2 = dad.GetChildClass() && Well, this is happier ? son2 Define Class ParentClass As Session Procedure GetChildClass() As Object Return NewObject("ChildClass") Enddefine Define Class ChildClass As Session Procedure Init() Return Program( Program(-1) -1) = Upper("ParentClass.GetChildClass") EnddefineI don't like so much coupling, but I prefer this to global vars, anyway.