Roll your own polymorphism eh? :)