support multiple inheritance in oop