support for extending classes