I have found on several occasions that I would like to extend a class, but variables and methods are private so it is impossible to make use of these in the subclass. Is there a policy about when things should be kept private, and when they should be protected? Is it OK to change this in a base class when extending it? David