Add polymorphism support