Polymorphism

some very happy changes, utilising polymorphism quite magically.