multiple inheritance implemented