modification of inheritence and add polymorphism