added combination inheritance