add support for multi-inheritance